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

在Windows7上发送UDP广播

  •  5
  • harper  · 技术社区  · 14 年前

    我有一台电脑,有两个网卡连接到不同的网络(多宿网络设置)。我想在两个网络上发送UDP广播帧。帧的发送方IP地址必须是用于发送帧的适配器的IP地址。目标地址应该是有限的广播地址。

    客户应用程序不应使用管理权限运行(不接受UAC)。

    如何将这些帧发送到网络广播地址(x.y.z.255)?

    我知道如何处理原始套接字。但是原始套接字只能与管理权限一起使用。

    1 回复  |  直到 14 年前
        1
  •  3
  •   Len Holgate    14 年前

    你不能打开两个普通的UDP套接字,将一个绑定到每个接口地址,然后简单地发送到广播地址吗?

    据我所知,这将处理两个网络上的发送,并将确保发送的数据包具有正确的ip地址。如果您将一个套接字绑定到一个网络适配器上,它将不起作用,当然,如果计算机中只有一个网络适配器,那么它将起作用。要创建一个完整的解决方案,最好遍历可用的地址,为每个地址创建一个套接字,绑定到每个地址并从每个地址发送。