Windows环境下局域网内台式机UDP广播失效问题求助(修改广播地址后恢复正常)
Windows环境下局域网内台式机UDP广播失效问题求助(修改广播地址后恢复正常)
问题背景与现象
我写了个程序,会定期发送简单的UDP广播消息在局域网内宣告设备存在。家里的笔记本和台式机都通过WiFi连接到同一个路由器,两台设备均运行Windows系统,且运行的是完全相同的代码。
但出现了不对称的问题:台式机能正常检测到笔记本的存在,但笔记本完全收不到台式机发的广播消息。
排查过程
为了定位问题,我做了以下测试:
- Wireshark抓包验证:台式机发往笔记本的广播消息,在两台设备的Wireshark中都完全无法捕获;但笔记本发送的广播消息,两台设备的抓包都能正常显示。
- 更换网络环境:改用安卓手机作为热点,问题依旧完全相同,排除了路由器的问题。
- 排除程序自身问题:使用第三方工具「Packet Sender」测试:
- 台式机发送广播包时,两台设备的Wireshark都抓不到;但发送单播包时,两台设备的抓包均正常显示。
- 笔记本发送广播包时,两台设备的Wireshark都能正常捕获到。
更反常的是:台式机自己发送的广播包,连它自身的Wireshark都抓不到,这让我确定问题应该出在台式机的系统设置上,而非网络设备。
临时解决方法与疑问
后来我尝试修改了广播地址,把原来的255.255.255.255改成了局域网的定向广播地址192.168.0.255,结果问题居然解决了!
想请教各位大佬,为什么会出现这种情况?255.255.255.255这个全局限播地址在台式机上为什么会失效呢?
备注:内容来源于stack exchange,提问作者tuket
相关产品推荐
相关产品推荐

