Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么java多播接收器无法在Windows XP上接收数据包?_Java_Windows_Sockets_Multicast - Fatal编程技术网

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

为什么java多播接收器无法在Windows XP上接收数据包?,java,windows,sockets,multicast,Java,Windows,Sockets,Multicast,我在ip 224.2.2.3和端口8888上有一个java的MulticastReceiver和MulticastSender。当我在windows XP上运行receiver时,我无法接收数据包。我所有的linux接收器都按预期接收数据包。当我的发件人在windows上时,情况也很好 我已关闭XP上的防火墙 我已经将接口绑定到我希望到达数据包的套接字 我所有的机器都在同一个网络上 还有什么需要调整的吗?将套接字绑定到0.0.0.0,这样它就可以通过所有接口接收多播。您可能还必须通过所有接口

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

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

还有什么需要调整的吗?

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


绑定到多播地址本身似乎是一个Linux ism。它在Windows上不工作。

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


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

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

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

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

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


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

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


尝试将套接字绑定到0.0.0.0。绑定到0.0.0.0也没有帮助。@EJP我一定是尝试了什么错误。将接收器更改为0.0.0.0确实有帮助。请按回复邮寄,我会接受的。谢谢。在使用VMWare/Virtualbox的计算机上运行sender时,我必须将sender套接字绑定到适当的接口。现在所有组合都工作正常。请尝试将套接字绑定到0.0.0.0。绑定到0.0.0.0也没有帮助。@EJP我一定是尝试了一些错误的方法。将接收器更改为0.0.0.0确实有帮助。请按回复邮寄,我会接受的。谢谢。在使用VMWare/Virtualbox的计算机上运行sender时,我必须将sender套接字绑定到适当的接口。现在所有的组合都很好,事实上我对0.0.0.0的观察是不同的。在windows XP上,绑定到0.0.0.0适用于jdk 6。在ubuntu上,我尝试使用Openjdk 7,但没有成功。在Win7上,我尝试使用JDK6,但没有成功。最后,我求助于绑定到用户提供的IP。@ManishSapariya将套接字绑定到0.0.0.0适用于人类已知的每个平台。您必须进一步定义“不起作用”。事实上,我对0.0.0.0的观察是不同的。在windows XP上,绑定到0.0.0.0适用于jdk 6。在ubuntu上,我尝试使用Openjdk 7,但没有成功。在Win7上,我尝试使用JDK6,但没有成功。最后,我求助于绑定到用户提供的IP。@ManishSapariya将套接字绑定到0.0.0.0适用于人类已知的每个平台。您必须进一步定义“不起作用”。