Hallo,
also mein Problem:
Ich hab einen Client:
C#-Quelltext
1: 2: 3: 4: 5: 6:
| Socket S = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint iep1 = new IPEndPoint(IPAddress.Broadcast, 50125); S.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1); S.SendTo(Encoding.Unicode.GetBytes("Hello"), iep1); S.Close(); Console.ReadLine(); |
und einen Server:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| Socket S = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint iep = new IPEndPoint(IPAddress.Broadcast, 50125); S.Bind(iep);
EndPoint ep = (EndPoint)iep; byte[] data = new byte[1024];
int recv = S.ReceiveFrom(data, ref ep); Console.WriteLine("received: {0}", Encoding.Unicode.GetString(data, 0, recv)); S.Close(); Console.ReadLine(); |
wobei über Broadcast über dem Port 50125 ein Packet gesendet wird, und der Server den Inhalt von dem Packet ausgeben soll, dies funktioniert aber leider nicht, und ich weiß nicht wieso.
Der Server bleibt bei der Zeile
C#-Quelltext
1:
| int recv = S.ReceiveFrom(data, ref ep); |
stehen, und der Client läuft wie geplant ab.
Laut Wireshark kommt das Packet am Server-PC an, nur das Programm springt nicht drauf an...
mfg Flitzs