我正在使用Winsock2开发我的应用程序。就我而言,源设备将通过同一端口向目标设备发送单播和多播UDP数据报。在接收端,我创建了2个套接字,一个用于接收单播数据报(名为socket1),另一个用于接收多播(名为socket2)。 Socket2被添加到分配的多播组中。问题是,由于2个套接字绑定到同一个端口,socket2将接收应该由socket1接收的单播数据报。
我尝试将socket2绑定到多播IP地址,而socket1仍然绑定到本地IP地址,但socket2的绑定操作失败。我在一些帖子中看到他们说在Windows上不支持绑定到多播IP地址,但在Linux / BSD上支持。这是真的?是否有任何文件或信息告诉我们?
如果Windows上不支持绑定到多播IP地址,如何通过使用某些IP级别或套接字级别选项来区分同一端口上的单播和多播数据报?或者我必须制定具体的过滤规则来实现这一目标?
谢谢!
赖安