Tôi có một máy tính có nhiều NIC - và phương pháp gửi UDPClient liên tục không thành công. Đây là mã số:UDPClient Multicast nhận không thành công trên máy tính với nhiều NIC
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 và IP = 224.5.6.7 sao cho phải OK. Vấn đề chính là tôi không thể vượt qua dòng recvSock.Receive(). Tôi thấy các gói dữ liệu đến trên wireshark - nhưng mã sẽ không xử lý chúng ...
Suy nghĩ? Cảm ơn trước!
Dan
EDIT: Tôi có thể xác nhận rằng nhiều NIC đang gây ra sự cố --- mã hoạt động tốt với một NIC duy nhất. Uncommenting dòng SetSocketOption nên cho phép nó làm việc với nhiều NIC, nhưng nó vẫn thất bại .... suy nghĩ?
Để rõ ràng, ứng dụng "ứng dụng khách" này [máy] có nhiều NIC hoặc máy chủ mà bạn kết nối có nhiều NIC? –
Vì tôi gặp vấn đề tương tự, tôi sẵn sàng xác nhận: "ứng dụng máy khách [máy] có nhiều NIC". Thông thường khách hàng quan tâm đến các máy chủ đang ở trên bất kỳ mạng NIC nào. Một máy chủ có nhiều NIC chỉ quan trọng nếu máy khách có thể thấy máy chủ _same_ qua nhiều NIC phía máy khách. –
@Dan Bạn có tìm thấy cách giải quyết không? Tôi gặp vấn đề tương tự – J4N