我有一台PC,它有两块网卡连接到不同的网络(多宿主网络设置)。我想在两个网络上发送UDP广播帧。帧的发送者IP地址必须是用于发送帧的适配器的IP地址。目的地址应该是有限的广播地址。
客户应用程序不应使用管理权限运行(UAC不可接受)。
如何将这些UDP帧发送到有限的广播地址(255.255.255.255)?如何将这些帧发送到网络广播地址(x.y.z.255)?
我知道如何使用原始套接字来做到这一点。但是原始套接字只能在具有管理权限的情况下使用。
发布于 2010-07-13 04:10:56
难道您不能只打开两个普通的UDP套接字,将一个套接字绑定到每个接口地址,然后简单地发送到广播地址吗?
据我所知,这将处理两个网络上的发送,并将确保发送的数据包具有正确的ip地址。如果您将单个套接字绑定到INADDR_ANY,那么它就不会工作,当然,如果机器中只有一个网络适配器,它就可以工作。要创建一个完整的解决方案,最好是遍历可用的地址,并为每个地址创建一个套接字,绑定到每个地址并从每个地址发送。
https://stackoverflow.com/questions/3229317
复制相似问题