Seite 1 von 1

Steuerung in C#

Verfasst: Freitag 5. März 2010, 11:23
von daniel_sudy
Hallo, ich habe eine Frage zum Thema UDP. Ich habe gelesen, dass sich die Leiste mit dem Befehl “Sw_on" + Segment + Passwort + CrLf einschalten lässt. Nun habe ich in C# eine UDP Verbindung aufgebaut, nur bin ich mir jetzt nicht sicher, wie ich den Befehl übertragen soll, bzw. ob es funktioniert, da bei UDP der Befehl ja in byts umgewandelt werden muss, um ihn zu übertragen!

Hier ein kleiner Ausschnitt aus meinem Code, vl kann mir ja wer helfen!

byte[] data = new byte[1024];
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("192.168.100.3"),75);

Socket server = new Socket(AddressFamily.InterNetwork,SocketType.Dgram, ProtocolType.Udp);

string test = "\"Sw_on\" 1 test CrLf";//Hier bin ich mir nicht sicher
data = Encoding.ASCII.GetBytes(test);
server.SendTo(data, data.Length, SocketFlags.None, ipep);
server.Close();

Re: Steuerung in C#

Verfasst: Donnerstag 18. März 2010, 20:54
von AnelHomeUser
So funktioniert es bei mir:

//Parameter An/Aus
bool SwitchON = true;
//Parameter Dosennummer
int PowerLineNumber = 1;

System.Net.Sockets.UdpClient oUDPServer = null;
try
{
oUDPServer = new System.Net.Sockets.UdpClient();
oUDPServer.Connect(new System.Net.IPEndPoint(System.Net.IPAddress.Parse("192.168.178.31"), 75));
string sCommand;
if (SwitchON)
{
// Anschalten
sCommand = "Sw_on";
}
else
{
// Ausschalten
sCommand = "Sw_off";
}
byte[] aoSendData = System.Text.Encoding.ASCII.GetBytes(sCommand + PowerLineNumber + "user" + (char)0 + @"\r\n");
oUDPServer.Send(aoSendData, aoSendData.Length);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
if (oUDPServer != null)
oUDPServer.Close();
}

Re: Steuerung in C#

Verfasst: Montag 3. Oktober 2011, 11:02
von daniel_sudy
Wie sieht kann ich nun den Status der einzelnen Dosen überprüfen, einen Boradcast an die 255.255.255.255 schicken, aber das funktioniert bei mir nicht!!!