0

我有一个通过端口 4747 发送/广播 UDP 消息的软件,我想在我的 C# 应用程序上获取这些消息。我已经使用 Microsoft Network Monitor 并捕获了那些 UDP 消息,但是在我的 C# 程序上尝试了一堆东西,但无法获得任何这些消息。NetworkMonitor 中的消息日志如下: 88922 00:46:57 14/11/2013 862.7592038 MM-B6DD62A 224.74.74.74 UDP UDP:SrcPort = 1053, DstPort = 7474, Length = 15 {UDP:1001, IPv4:984}

消息正在从网络中的一台计算机发送到其他计算机。

我期待一些简单的事情:

UdpClient udp = new UdpClient(7474);
udp.BeginReceive(Receive, new object());
 public void Receive(IAsyncResult ar)
    {
        Console.WriteLine("Getting some thing...");
        IPEndPoint ip = new IPEndPoint(IPAddress.Any, 7474);
        byte[] bytes = udp.EndReceive(ar, ref ip);
        string message = Encoding.ASCII.GetString(bytes);
        Console.WriteLine(message);
    }

可以解决我的问题,但没有捕捉到任何东西。

有什么建议么?

4

1 回答 1

0

使用多播组仅适用于 IPv6,IPAddress.Any 不是这样,因此无法正常工作。你用的是什么广播地址?255.255.255.255 往往不像软件、设备和防火墙那样经常不分青红皂白地丢弃如此广泛的广播,但是使用广播到更具体的子网通常可以工作,例如:

192.168.255.255.
于 2013-11-18T07:22:51.430 回答