我正在尝试编写一个使用Windows套接字侦听多个组播组的应用程序 .
我遇到的问题是,当我去绑定套接字时,如果我尝试绑定到多播组地址和端口,则会失败并使用WSAEADDRNOTAVAIL . 如果我改为绑定到INADDR_ANY和端口,那么我仍然可以接收发往同一端口的其他不相关的流量 .
当我在Linux中实现相同的东西时,我没有任何绑定到多播地址的问题(事实上,我看到它推荐了几个地方,以避免为端口获得不相关的流量) .
这是不适用于Windows套接字?我假设我可以通过使用WSARecvFrom并在 Headers 上偷看来自己过滤流量,但如果存在,我宁愿一个简单的解决方案 .
此外,这是在Windows Server 2008上运行 .
1 回答
虽然bind()的doc并没有说这个不受支持,但它在备注中说:
也许这个计划会产生更好的结果?