1

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

  • 我在XP上关闭了防火墙。
  • 我已将接口绑定到我希望数据包到达的套接字。
  • 我的所有机器都在同一个网络上。

还有什么需要调整的吗?

4

3 回答 3

4

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

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

于 2013-12-23T14:31:38.707 回答
1

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

绑定到多播地址本身似乎是一种 Linux 主义。它在 Windows 上不起作用。

于 2013-10-07T22:21:58.647 回答
0

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

于 2013-10-08T15:00:03.873 回答