Ich habe einen Computer mit mehreren NICs - und die Sendemethode von UDPClient schlägt ständig fehl. Hier ist der Code:
private static void receiveData()
{
recvSock = new UdpClient(PORT);
//recvSock.Client.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastInterface, mainInterface);
recvSock.JoinMulticastGroup(IPAddress.Parse(IP), 50);
IPEndPoint iep = new IPEndPoint(IPAddress.Any, 0);
while (true)
{
byte[] data = recvSock.Receive(ref iep);
// Do not include messages from us
if (myIPs.Contains(iep.Address))
continue;
string stringData = Encoding.ASCII.GetString(data, 0, data.Length);
Console.WriteLine("received: " + stringData);
}
}
PORT = 5000 und IP = 224.5.6.7, das sollte also OK sein. Das Hauptproblem ist, dass ich einfach nicht über die Zeile recvSock.Receive() hinauskomme. Ich sehe die Pakete, die über Wireshark kommen - aber der Code will sie einfach nicht verarbeiten...
Was denken Sie? Vielen Dank im Voraus!
Dan
EDIT: Ich kann bestätigen, dass die mehreren NICs das Problem verursachen --- der Code funktioniert gut mit einer einzigen NIC. Uncommenting die SetSocketOption Zeile sollte es ermöglichen, mit mehreren NICs zu arbeiten, aber es immer noch nicht.... Gedanken?