我有一台PC,有两个网卡连接到不同的网络(多宿主网络设置).我想在两个网络上发送UDP广播帧.帧的发送方IP地址必须是适配器的IP地址,用于发送帧.目标地址应为LIMITED BROADCAST地址.
客户应用程序不应以管理权限运行(UAC不可加入).
如何将这些UDP帧发送到LIMITED BROADCAST地址(255.255.255.255)?如何将这些帧发送到NETWORK BROADCAST地址(xyz255)?
我知道如何使用原始套接字执行此操作.但原始套接字只能与管理权限一起使用.
难道你不能只打开两个普通的 UDP 套接字并将一个绑定到每个接口地址,然后简单地发送到广播地址吗?
据我所知,这将处理两个网络上的发送,并将确保发送的数据包具有正确的 IP 地址。如果您将单个套接字绑定到 INADDR_ANY,它将无法工作,当然,如果机器中只有一个网络适配器,那么它就可以工作。要创建完整的解决方案,最好迭代可用地址并为每个地址创建一个套接字,绑定到每个地址并从每个地址发送。
| 归档时间: |
|
| 查看次数: |
7979 次 |
| 最近记录: |