UDPClient不接收数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UDPClient不接收数据相关的知识,希望对你有一定的参考价值。
我的电脑上有2个Ifaces。我通过所有Ifaces发送请求。但我通过1 Iface接收数据。但是,在Wireshark中,我通过所有Ifaces看到了所有数据。如果我遍历所有接口而不是IPAddress.Any,这是有效的。
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;
}
答案
我在Windows防火墙中添加了对公共网络的应用程序访问后,它可以工作
以上是关于UDPClient不接收数据的主要内容,如果未能解决你的问题,请参考以下文章
UDP 协议 C# UdpClient乱序接收数据包丢失的问题 Socket ReceiveBufferSize