0

我正在尝试编写一个简单的数据收集 gui。设置如下:

一方面,我有一个编程的 FPGA,它发送充满数据的简单 UDP 数据包。系统的这一部分正在工作 - 它已经过验证,我可以看到在 Wireshark 中按预期进入的数据包。

另一方面,我正在尝试用 C# 构建一个简单的接收器来收集数据包并显示数据。但是,我已经尝试了所有可以在 UDP 通信上找到的方法,但我似乎无法让 GUI 真正看到任何数据包。

数据包从 192.168.0.99:1024 发送到 192.168.0.100:1024。

我的测试代码如下:

private void ConnectToUDP(UDPOptions Options)
{
    UdpClient listener = new UdpClient(1024);
    IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, 1024);

    while (true)
    {
         byte[] bytes = listener.Receive(ref groupEP);
    }
}

但是,除了在最后一行阻止之外,我似乎什么也做不了。(即它阻塞,但似乎从未真正接收到任何数据。)

再次,我可以看到来自 wireshark 的数据包,我将机器上的 IP 地址设置为 192.168.0.100 以实际确认传入的数据包,但我的程序看不到它们。

有人知道我做错了什么吗?

谢谢,伊恩

4

1 回答 1

0

不知道您是否仍然需要这个,或者即使这对您有用,但@INCyr,尝试将 IPEndPoint 端口从 1024 更改为 0,如下所示:

IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, 0);

这对我有用。

于 2013-01-22T08:03:49.413 回答