为什么java多播接收器无法在Windows XP上接收数据包?

我有一个MulticastReceiver和MulticastSender在IP 224.2.2.3和端口8888的Java。当我在Windows XP上运行接收器,我无法接收数据包。 我的所有Linux接收器都按预期接收数据包。 事情也很好,当我的发件人在Windows上。

  • 我在XP上closures了防火墙。
  • 我已经将接口绑定到我希望到达数据包的套接字上。
  • 我把所有的机器放在同一个networking上。

还有什么需要调整?

将套接字绑定到0.0.0.0,以便可以通过所有接口接收组播。 您可能还必须通过所有界面加入该组。

绑定到多播地址本身似乎是一个Linux的主题。 它不适用于Windows。

如果您的接收器有多个网卡(例如安装了VirtualBox),请降低第二个以太网卡的优先级。

开始 – >控制面板 – >网络设置 – >更改适配器设置 – > Internet协议属性 – >高级 – >取消选中自动度量并给出一个高值(例如800)

我使用Windows 2008服务器和接收器上的多播套接字发送器作为包括PC在内的不同网络设备。 但是,从未遇到在Windows 7专业版上使用0.0.0.0(不确定XP)的挑战。 我使用226.xxx地址。 大多数224.xxx地址被IP多播空间注册表占用(不知道XP是否禁止了它们),默认情况下,我看到它不适用于多播接收器。 你的端口号似乎很好,符合允许的范围。