2013-05-04 78 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 =真 右鍵單擊命令提示,應粘貼 點擊進入。那很簡單!

相關問題