1.接收不到广播数据,但Wireshark可以抓到包
环境 :
1) 两台笔记本电脑绑定的IP地址分别为 0xca80209 0xca8020a
2) 通过 setsockopt() 设置套接字 SO_BROADCAST 标志为1
3) 发送函数 sendto接收函数 recvfrom
目的 :相互接收广播数据
结果 :发送没问题,接收端未接收到任何广播数据,但单播数据正常
解决方法:
将绑定的地址改为 INADDR_ANY。问题解决了。但是不太清楚这两种方式的具体差别在哪里。这样当我一台设备上存在多个网卡的情况下我必须绑定一个网卡,否则,发送结果可能不是我希望的。
2.广播地址为 255.255.255.255 提示网络不可达。
环境 :
1) 两台笔记本电脑绑定的IP地址均为 INADDR_ANY
2) 通过 setsockopt() 设置套接字 SO_BROADCAST 标志为1