我有一台带有多个NIC的计算机 - 而且UDPClient的send方法一直失败.这是代码:
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,IP = 224.5.6.7,所以应该没问题.主要问题是我无法通过recvSock.Receive()行.我看到数据包通过wireshark进入 - 但代码只是不会处理它们...
思考?提前致谢!
担
编辑:我可以确认多个NIC导致问题---代码可以正常使用单个NIC.取消注释SetSocketOption行应该允许它使用多个NIC,但它仍然失败....想法?