我正在开发一个使用 UDP 广播发现/配置远程设备的项目。这些设备可能尚未配置 IP 地址,至少没有配置与它们所连接的网络相匹配的 IP 地址。目前,我们使用目标地址为 255.255.255.255
的单个 sendto
。这在大多数情况下工作正常,但在具有多个 NIC 的 Vista 计算机上,广播似乎仅从其中一个接口(interface)发送。如何让 Vista 将广播发送到所有接口(interface)?
最佳答案
我个人从未见过任何系统为每个接口(interface)生成数据包以响应单个 sendto
调用。
更好的选择是枚举网络接口(interface),确定正确的链路本地广播并通过每个接口(interface)单独发送单独的数据包。
关于windows - 多宿主系统上的 UDP 广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/666405/