【问题标题】:UDPClient doesn't Receive dataUDPClient 不接收数据
【发布时间】:2018-11-23 19:02:17
【问题描述】:

我的电脑上有 2 个 Iface。我通过所有 Ifaces 发送请求。但我通过 1 Iface 接收数据。但是,在 Wireshark 中,我通过所有 Iface 查看所有数据。如果我循环遍历所有接口而不是 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 防火墙,它会起作用。我必须添加规则。但是我尝试在异常防火墙中添加我的 udp 端口​​,它不起作用
  • 在防火墙中添加对公共网络的应用程序访问后,它可以工作

标签: c# sockets udpclient


【解决方案1】:

在我的 Windows 防火墙中添加对公共网络的应用程序访问后,它就可以工作了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    相关资源
    最近更新 更多