多宿主系统上的UDP广播

时间:2009-03-20 14:32:47

标签: windows networking windows-vista udp broadcast

我正在开发一个使用UDP广播发现/配置远程设备的项目。这些设备可能尚未配置IP地址,至少不匹配它们所连接的网络。目前,我们使用目标地址为sendto的单个255.255.255.255。这在大多数情况下都可以正常工作,但在具有多个NIC的Vista计算机上,广播似乎只能从其中一个接口发送出去。如何让Vista将广播发送到所有接口?

3 个答案:

答案 0 :(得分:2)

我个人从未见过任何系统为每个接口生成一个数据包以响应单个sendto呼叫。

更好的选择是枚举网络接口,确定正确的链路本地广播,并通过每个接口单独发送单独的数据包。

答案 1 :(得分:1)

枚举接口,然后在每个接口上发送一次数据包。

答案 2 :(得分:1)

我们有完全相同的问题,只有我们不能使用子网广播,因为我们想要配置它们。如果设备的IP错误(在我们的范围之外),则向其发送子网广播将永远不会被其IP堆栈接受。 讨厌的问题,除非我们允许DHCP ......