简单UDP侦听器的问题

时间:2013-05-31 05:22:41

标签: c# .net sockets udp wireshark

我在这里使用了非常基本的示例代码 - http://social.msdn.microsoft.com/forums/en-US/netfxnetcom/thread/92846ccb-fad3-469a-baf7-bb153ce2d82b/ - 来创建2个控制台应用程序。一个通过UDP发送数据,第二个应用程序只接收并显示它。我在5115端口做到了这一切都很好。发送方将随机字符串发送到127.0.0.1:5115,并且侦听器正确接收它。

我们有一个设备可以在端口5115上将UDP数据包发送到我正在播放的同一台PC上。使用相同的侦听器代码,我绝对收到 nothing 。令人感到奇怪的是,在同一台PC上运行的Wireshark看到数据包就好了:

enter image description here

我完全不知道我在这里做错了什么。我在同一个端口上收到0个字节Wireshark看到了所有这些数据!请你提出一些建议吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

我认为你是在loopback地址“127.0.0.1”发送数据包。当您在同一台计算机上同时运行Listener和Sender应用程序时,它可以正常工作。但是当您在其他设备上运行发送方并且在单独的设备上运行侦听程序时,通信将失败。

尝试将发件人应用程序中的环回地址更改为监听器计算机的IP地址

您可以通过转到侦听器计算机上的命令提示符来查找侦听器的IP地址。输入“ipconfig”并按Enter键。在输出中,您将看到一些IPv4地址。尝试将“127.0.0.1”更改为此IPv4地址。

答案 1 :(得分:0)

叹息问题是Windows防火墙。我不知道Wireshark在本地防火墙之前拦截数据包。 3天下来......哈哈!