2

我正在使用 Winsock2 开发我的应用程序。就我而言,源设备将通过同一端口将单播和多播 UDP 数据报发送到目标设备。在接收端,我创建了 2 个套接字,一个用于接收单播数据报(命名为 socket1),另一个用于接收多播(命名为 socket2)。Socket2 被添加到分配的多播组中。问题在于,由于 2 个套接字绑定到同一个端口,因此 socket2 将接收应该由 socket1 接收的单播数据报。

我尝试将socket2绑定到多播IP地址,而socket1仍然绑定到本地IP地址,但是socket2的绑定操作失败。我在这里的一些线程中看到他们说绑定到多播 IP 地址在 Windows 上不受支持,但在 Linux/BSD 上受支持。这是真的?是否有任何文件或信息说明这一点?

如果 Windows 不支持绑定到多播 IP 地址,我如何通过使用某些 IP 级别或套接字级别选项来区分同一端口上的单播和多播数据报?或者我必须制定特定的过滤规则来实现这一点?

谢谢!

瑞安

4

0 回答 0