मेरे पीसी पर 2 Ifaces हैं। मैं सभी Ifaces के माध्यम से एक अनुरोध भेजता हूं। लेकिन मैं 1 Iface के माध्यम से डेटा प्राप्त करता हूं। हालांकि, Wireshark में मैं सभी Ifaces के माध्यम से सभी डेटा देखता हूं। यह काम करता है अगर मैं आईपीएड्रेस के बजाय सभी इंटरफेस के माध्यम से लूप करता हूं। कोई भी।

public static List<byte[]> ReceiveArrayData(int port, byte response, int timeout)
    {
        byte[] data;
        List<byte[]> result = new List<byte[]>();

        UdpClient udpClient = new UdpClient(port);
        IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);

        Stopwatch sw = new Stopwatch();
        sw.Start();

        while (true)
        {
            if (udpClient.Available > 0)
            {   // получаем данные
                data = udpClient.Receive(ref RemoteIpEndPoint);
                if (data[0] == response)
                {
                    result.Add(data);
                    System.Console.WriteLine(Functions.ByteArrayToString(data));
                }
            }
            if (sw.ElapsedMilliseconds > timeout)
            {
                break;
            }
        }
        udpClient.Close();
        return result;
    }
0
dmitriy 23 नवम्बर 2018, 10:40

1 उत्तर

सबसे बढ़िया उत्तर

विंडोज़ फ़ायरवॉल में सार्वजनिक नेटवर्क में मेरे एप्लिकेशन एक्सेस को जोड़ने के बाद यह काम करता है

0
dmitriy 23 नवम्बर 2018, 11:02