我有一个带有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);
工作时,字节将显示在文本框中,以及其他一些指示符,表明正在接收数据。