20

在我编写的应用程序中,我在特定计算机上有一个java.net.SocketException :

java.net.SocketException:协议系列不支持地址系列:连接

这台特定的计算机运行 Windows 7 32 位,并通过本地连接(以太网)连接到互联网。该应用程序在其他计算机上正常运行,使用 Windows 7 和 Windows 8,通过本地连接或 Wi-Fi 连接,所以我实际上不确定问题是否是程序性的。我尝试检查本地连接的协议,但没有发现任何问题。有人可以帮我理解问题所在吗?为什么会抛出这个异常?

4

6 回答 6

40

尝试检查是否安装了名为“RelevantKnowledge”的间谍程序。它的卸载帮助我解决了这个问题。

于 2014-01-27T14:49:44.300 回答
26

对我来说,Java 选项-Djava.net.preferIPv4Stack=true成功了

于 2013-06-20T08:25:25.813 回答
20
  1. 打开命令提示符(Windows 开始按钮,在搜索中键入 cmd)
  2. 单击命令提示符左上角,单击属性,启用快速编辑模式
  3. 复制:setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true

  4. 右键单击命令提示符,应该粘贴

  5. 点击进入。就这么简单!
于 2015-06-02T18:41:56.737 回答
5

这可能是几件事:

  • 防病毒阻止连接。如果您在该计算机上运行了防病毒软件,请尝试禁用它以进行测试。
  • Java 7 尝试使用 IPv6 进行连接:如果您在其工作的计算机上安装了 Java 6,而在其失败的计算机上安装了 Java 7,请尝试在失败的计算机上禁用 Java 中的 IPv6(本文中的说明)
于 2013-05-04T13:09:35.000 回答
0

如果您使用的是 java 6,请尝试更改为 java 7。它对我有用。

于 2014-07-29T10:29:16.147 回答
0

谢谢这对我有帮助:

防病毒阻止连接。如果您在该计算机上运行了防病毒软件,请尝试禁用它以进行测试。

打开命令提示符(Windows 开始按钮,在搜索中输入 cmd) 单击命令提示符左上角,单击属性,启用快速编辑模式 复制:setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true 右键单击​​命令提示符,应粘贴回车。就这么简单!

于 2016-11-01T05:58:38.410 回答