我正在开发一个使用UDP广播发现/configuration远程设备的项目。 这些设备可能没有configurationIP地址,至less不能匹配它们所连接的networking。 目前我们使用一个sendto ,目标地址为255.255.255.255 。 这在大多数情况下可以正常工作,但是在具有多个NIC的Vista机器上,广播似乎只能发送出其中一个接口。 我怎样才能让Vista发送广播到所有接口?
如何在Linux上使用C ++播放.wav文件?
在Linux上接收UDP广播数据包
仅从特定适配器(例如192.168.101.1)发送UDP广播(255.255.255.255); 在Windows上
所有接口上的UDP广播
WM_POWERBROADCAST没有被Windows XP中的纯消息窗口收到
我个人从来没有见过任何系统为每个接口响应一个sendto调用产生一个数据包。
更好的选择是枚举网络接口,确定正确的链路本地广播,并通过每个接口分别发送一个数据包。
枚举接口,然后在每个接口上发送一次数据包。
我们有完全相同的问题,只有我们不能使用子网广播,因为我们要配置它们。 如果设备IP地址不正确(在我们的范围之外),发送子网广播将永远不会被其IP栈接受。 讨厌的问题,除非我们允许DHCP …