代码之家  ›  专栏  ›  技术社区  ›  megabytephreak

多家系统上的UDP广播

  •  2
  • megabytephreak  · 技术社区  · 15 年前

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

    3 回复  |  直到 15 年前
        1
  •  2
  •   Alnitak    15 年前

    我个人从未见过任何系统为每个接口生成响应单个接口的包。 sendto 打电话。

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

        2
  •  1
  •   Walden Leverich    15 年前

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

        3
  •  1
  •       15 年前

    我们有完全相同的问题,只有我们不能使用子网广播,因为我们想配置它们。如果一个设备有一个错误的IP(超出我们的范围),发送子网广播到它的IP堆栈将永远不会接受。 严重的问题,除非我们允许DHCP…