2012-08-29 141 views
0

我想编写一个简单的数据收集gui。设置如下:UDP数据包不被接收

一方面,我有一个编程的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实际上确认传入数据包,但我的程序不会看到它们。

任何人有任何想法我做错了什么?

感谢, 伊恩

+0

防火墙?路由器规则? – Wug

+1

如果您在同一台计算机上运行服务器和客户端,会发生什么情况? – KevinDTimm

+0

确保以管理员身份运行程序/视觉工作室 –

回答

0

不知道你是否还需要这样或即使这会为你工作,但@INCyr,尝试改变IPEndPoint端口从1024到0,像这样:

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

这对我有用。