我在Windows 7计算机上运行客户端应用程序,它将UDP消息发送到本地子网上的另一台服务器计算机,然后服务器回复目标为“192.168.1.255”的广播UDP消息。奇怪的是,Windows上的客户端应用程序无法获取消息。我试图让服务器直接向我的Windows机器'192.168.1.8'的ip发送单播消息,然后客户端就可以得到它。我使用WireShark跟踪消息,我可以看到发送到'192.168.1.255'的IP数据包,但我的应用程序无法获取它。
所以我相信Windows 7会阻止子网络中的广播消息。我关闭了Windows防火墙,但它仍然无效。
我几乎可以肯定这是Windows的问题,我在同一子网中的另一台Linux机器上运行完全相同的代码,效果很好。
任何人都可以帮我解决这个问题吗?非常感谢。
答案 0 :(得分:1)
问题解决了。重新启动窗口,为防火墙设置添加规则,现在它很好。
答案 1 :(得分:1)
添加到防火墙
ANY ANY 255.255.255.255/32 DROP
ANY ANY a.b.c.255/32 DROP
答案 2 :(得分:0)
您使用哪个端口号来侦听消息?您是否明确指定了端口号或是否由套接字自动分配?您需要具有管理员权限才能指定要在Windows上侦听的端口号。