我正在学习如何在Java语言中使用多播UDP。我刚刚研究了例子here。 但是,之后我下载了代码并执行了它们,它们只有在我在同一台PC上运行多播客户端和多播服务器时才能工作。 因此,我尝试将客户端的多个实例和服务器的一个实例运行到LAN网络中,但它不起作用。 最后,我深入研究了代码,并在网上查看,我发现它是正确的。
我的客户端是GNU / linux ubuntu配对16.04 LTS 64位,而我试图运行具有相同和不同操作系统(也是Windows)的其他客户端。 我认为这不是与操作系统配置相关的东西(在GNU / linux上通过ifconfig我看到了多播启用),但它应该是我本地网络的问题。我配置了路由器以允许IGMP代理和IGMP欺骗,我也禁用了防火墙。
然后我使用wireshark来捕获IGMP和UDP包。我可以看到我的PC中的客户端发送IGMP请求以加入组播组(地址)和UDP数据到组,而我无法收到任何包。
我该怎么办? 我的最终目标是在Internet上测试代码,而不是在本地LAN上。 ISP可以阻止我的多播流量吗?
谢谢
P.S。 我正在使用reserved multicast IP netstat -gn显示我的网络接口已加入多播组