【发布时间】:2011-09-02 16:49:11
【问题描述】:
我正在尝试编写一个使用 Windows 套接字侦听多个多播组的应用程序。
我遇到的问题是,当我去绑定套接字时,如果我尝试绑定到多播组地址和端口,则会失败并显示 WSAEADDRNOTAVAIL。如果我改为绑定到 INADDR_ANY 和端口,那么我仍然可以接收发往同一端口的其他无关流量。
当我在 Linux 中实现同样的事情时,我没有遇到任何绑定到多播地址的问题(事实上,我看到它推荐了几个地方以避免端口获得不相关的流量)。
这只是在 Windows 套接字中不可用吗?我假设我可以通过使用 WSARecvFrom 并查看标头来自己过滤流量,但如果存在,我宁愿一个简单的解决方案。
此外,它在 Windows Server 2008 上运行。
【问题讨论】:
-
我在使用 Windows 套接字时遇到了同样的问题。看起来 Windows 套接字不接受多播 IP 上的绑定,这使得阻止套接字从同一端口上的其他 IP 接收不相关的流量是不可能的。