2

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

4

3 回答 3

2

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

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

于 2009-03-20T14:53:24.200 回答
1

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

于 2009-03-20T15:09:59.837 回答
1

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

于 2009-04-03T13:14:50.570 回答