您好,谢谢您提前提供帮助:
我看到这个众所周知的和讨论过的问题。然而,这只是在Eclipse中运行/调试的时候,Juno on Win 7.vm版本并不重要。
因此,这是一个只有Eclipse的问题。当我单独运行同一个应用程序时不会发生这种情况--只在Eclipse中运行(我已经说过了;-)
这发生在(出于测试目的)我在网络适配器上禁用了IPv6,然后在相同的适配器上启用了IPv6之后。
应用程序很简单:在上创建一个多播服务器,以侦听并报告到该组的任何UDP多播。该程序在所有情况下和平台上都能正常工作,但在机器和Eclipse中除外,我在Eclipse中禁用/启用了上面描述的IPv6。
还有: 1)是的,PreferIPv6Addresses = true,PreferIPv4Stack = false - Args设置在代码2)不,Win 7主机文件没有被搞乱3)不,这不是一个Android应用程序。
下面是代码后面的错误。
再次感谢,提前,
汤姆
Protocol family not supported
java.net.SocketException: Protocol family not supported
at java.net.PlainDatagramSocketImpl.bind(Native Method)
at java.net.DatagramSocket.bind(DatagramSocket.java:368)
at java.net.MulticastSocket.<init>(MulticastSocket.java:147)
System.setProperty("java.net.preferIPv4Stack", "false");
System.setProperty("java.net.preferIPv6Addresses", "true");
// bind to all IPv6 ports (in contrast to "0.0.0.0" for IPv4 binding)
InetAddress ia6BindTo = InetAddress.getByName("::");
SocketAddress sa = new InetSocketAddress(ia6BindTo, 3702);
// bam
MulticastSocket ms = new MulticastSocket(sa);
// no longer gets this far since disable/enable IPv6 on net adapters
InetAddress m_GroupAddress = InetAddress.getByName("[FF02::C]");
ms.joinGroup(m_GroupAddress);发布于 2013-01-07 19:42:28
这不是“为什么”的答案。
这是解决办法的答案。
我从Eclipse中删除了已安装的JVM并重新安装了它。行为被清除了。
我不能完全接受这一点,原因有二:
1)当我再次禁用/启用IPv6时,问题会再次出现。因此,必须重复这种解决办法。2)我必须配置项目并进一步运行配置,以使所需的JVM再次成为默认的。
如果我找到了在Eclipse中出现这种情况的原因,我会发布我的发现。
https://stackoverflow.com/questions/14164801
复制相似问题