के साथ कंप्यूटर पर विफल रहता है मेरे पास कई एनआईसी के साथ एक कंप्यूटर है - और यूडीपी क्लाइंट की प्रेषण विधि लगातार विफल हो जाती है। यहां कोड है:यूडीपी क्लाइंट मल्टीकास्ट कई एनआईसी
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);
}
}
पोर्ट = 5000 और आईपी = 224.5.6.7 ताकि यह ठीक होना चाहिए। मुख्य समस्या यह है कि मैं सिर्फ recvSock.Receive() लाइन से पहले नहीं मिल सकता है। मैं wireshark पर आने वाले पैकेट देखता हूं - लेकिन कोड सिर्फ उन्हें संसाधित नहीं करेगा ...
विचार? अग्रिम में धन्यवाद!
दान
संपादित करें: मैं पुष्टि कर सकते हैं कि बहु एनआईसी समस्या का कारण है --- कोड एक एकल एनआईसी के साथ ठीक काम करता है। SetSocketOption लाइन को अपूर्ण करने से इसे कई एनआईसी के साथ काम करने की अनुमति मिलनी चाहिए, लेकिन यह अभी भी विफल रहता है .... विचार?
unsigned long interface;
ip_mreq mreq;
_parseHostname(_description->getInterface(), interface);
mreq.imr_multiaddr.s_addr = _writeAddress.sin_addr.s_addr;
mreq.imr_interface.s_addr = interface;
setsockopt(_readFD, IPPROTO_IP, IP_ADD_MEMBERSHIP,
(char*)&mreq, sizeof(mreq));
इंटरफेस के साथ नेटवर्क प्राप्त कार्ड की (यूनिकास्ट) आईपी पते किया जा रहा है:
स्पष्ट होने के लिए, यह "क्लाइंट" एप्लिकेशन [मशीन] में कई एनआईसी हैं या आपके सर्वर से कनेक्ट होने वाला सर्वर एकाधिक एनआईसी है ?? –
चूंकि मुझे एक ही समस्या है, इसलिए मैं पुष्टि करने के लिए तैयार हूं: "क्लाइंट एप्लिकेशन [मशीन] में कई एनआईसी हैं"। आम तौर पर ग्राहक कई एनआईसी नेटवर्क पर सर्वरों से संबंधित है। एक सर्वर जिसमें एकाधिक एनआईसी होते हैं, केवल तभी महत्वपूर्ण होता है जब क्लाइंट एकाधिक क्लाइंट साइड एनआईसी के माध्यम से _same_ सर्वर देख सके। –
@Dan क्या आपको कोई कामकाज मिला? मुझे एक ही समस्या है – J4N