UDP Listener не работает на другой машине - PullRequest
0 голосов
/ 27 июня 2018

У меня есть приложение с потоком прослушивателя UDP. Это приложение отлично работает на одном компьютере, но не работает на другом. Я проверил, что IP-адреса установлены на статические и находятся в одной подсети, но по какой-то причине второй компьютер не может прослушивать данные. Это та же ОС Windows и все.

Я удостоверился, что приложение было добавлено в «Разрешить приложение через брандмауэр», а также создал правило для входящих подключений, разрешающее UDP для порта, но все равно не повезло.

Что-нибудь еще нужно проверить, чтобы заставить это работать?

Вот как я подключаюсь:

        udpClient = new System.Net.Sockets.UdpClient();
        udpClient.JoinMulticastGroup(System.Net.IPAddress.Parse(destIPAddr), System.Net.IPAddress.Parse(localIPAddress));
        ipEndPoint = new System.Net.IPEndPoint(System.Net.IPAddress.Any, listenPort);  
        udpClient.Client.SetSocketOption(System.Net.Sockets.SocketOptionLevel.Socket, System.Net.Sockets.SocketOptionName.ReuseAddress, true);
        udpClient.Client.Bind(ipEndPoint);   
        udpClient.Client.ReceiveTimeout = 5000; //5 second timeout

И у меня есть поток получения, который проверяет данные:

 retByte = udpClient.Receive(ref ipEndPoint);

При работе байты отображаются в текстовом поле, а также в некоторых других индикаторах, показывающих, что данные принимаются.

...