2013-05-04 112 views
13

在我所编程的应用上SocketException,请我有一个java.net.SocketException异常一个特定的计算机上:家庭地址协议族不支持 - 特定计算机

java.net.SocketException异常:协议族不支持的地址族:连接

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

+0

尝试像Wireshark的任何网络数据包监控软件 – prasanth 2013-05-04 12:03:09

+0

我有什么要看到那里? – 2013-05-04 12:05:17

+0

你正试图连接到一些端口,对吗?检查TCP数据包是否在该端口上收到,以及收到的响应是什么 – prasanth 2013-05-04 12:06:32

回答

22

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

+0

这真的可能是问题所在。 – 2014-01-27 16:51:31

+0

你是怎么找到的....谢谢 – Makky 2014-08-14 18:45:43

+0

谢谢,这个解决方案解决了我的问题。 – 2016-12-19 05:45:09

4

这可能是几件事情:

  • 反病毒阻止连接。如果您的计算机上运行了防病毒软件,请尝试禁用该软件以进行测试。
  • Java 7中尝试使用IPv6连接:如果你有Java 6中,其中它的工作原理和Java 7中失败的计算机上,尝试它无法在计算机上的Java关闭IPv6(指令in this post
+0

它使用与我的电脑相同的反病毒程序,它运行Java 7的最新版本。 请查看我的问题的评论。 – 2013-05-04 13:34:39

+0

查看关于在Java 7中禁用IPv6的项目符号。 – chr 2013-05-04 19:10:59

+0

不,它是所有计算机中的Java 7。 – 2013-05-06 21:41:54

16

对我来说Java选项-Djava.net.preferIPv4Stack=true诀窍

0

如果您使用的是Java 6,请尝试更改为java 7.它适用于我。

10
  1. 打开命令提示符(windows启动的搜索按钮,键入cmd)
  2. 点击左上角的命令提示符,然后单击属性,能够快速编辑模式
  3. 复制:setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true

  4. 右键点击在命令提示符下,应粘贴

  5. 点击进入。那很简单!
+0

我将它添加到了Azure的门户中的“应用程序设置”,它工作正常! – lionello 2017-03-18 00:25:20

0

谢谢你帮我:

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

打开命令提示符(Windows开始按钮,在搜索键入cmd) 点击左上角的命令提示符,然后单击属性,能够快速编辑模式 复制:SETX _JAVA_OPTIONS -Djava.net.preferIPv4Stack =真 右键单击命令提示,应粘贴 点击进入。那很简单!

相关问题