web-dev-qa-db-ja.com

プロトコルファミリでサポートされていないアドレスファミリ-特定のコンピュータでSocketException

プログラムしたアプリでは、特定のコンピューターにJava.net.SocketExceptionがあります。

Java.net.SocketException:プロトコルファミリでサポートされていないアドレスファミリ:接続

この特定のコンピューターはWindows 7 32ビットを実行し、ローカルエリア接続(イーサネット)を介してインターネットに接続されます。このアプリは、ローカルエリア接続またはWi-Fiを介して接続されたWindows 7およびWindows 8を備えた他のコンピューターで正常に実行されるため、問題がプログラムによるものかどうかは実際にはわかりません。ローカルエリア接続のプロトコルを確認しようとしましたが、問題は見られませんでした。誰かが問題の原因を理解するのを手伝ってもらえますか?なぜこの例外がスローされるのですか?

16
Or B

「RelevantKnowledge」というスパイプログラムがインストールされているかどうかを確認してください。そのアンインストールは、問題の解決に役立ちました。

31
bronixx

私の場合Java option -Djava.net.preferIPv4Stack=trueトリックをしました

22
mibutec
  1. コマンドプロンプトを開く(Windowsのスタートボタン、検索でcmdと入力)
  2. コマンドプロンプトの左上をクリックし、プロパティをクリックして、クイック編集モードを有効にします
  3. コピー:setx _Java_OPTIONS -Djava.net.preferIPv4Stack=true

  4. コマンドプロンプトを右クリックして貼り付けます

  5. Enterキーを押します。簡単!
16
satyajohnny1

いくつかのことがあります。

  • アンチウイルスが接続をブロックします。そのコンピューターでアンチウイルスを実行している場合は、テストのためにそれを無効にしてみてください。
  • 接続にIPv6を使用しようとするJava 7:動作するコンピューターにJava 6があり、失敗する場所にJava 7がある場合は、=でIPv6を無効にしてみてくださいJava失敗したコンピューターで(指示 この投稿)
5

これが私を助けてくれてありがとう:

アンチウイルスが接続をブロックします。そのコンピューターでアンチウイルスを実行している場合は、テストのためにそれを無効にしてみてください。

コマンドプロンプトを開く(ウィンドウズスタートボタン、検索でcmdと入力)コマンドプロンプトの左上をクリックし、プロパティをクリックして、クイック編集モードを有効にしますコピー:setx _Java_OPTIONS -Djava.net.preferIPv4Stack = trueコマンドプロンプトを右クリックし、Enterキーを貼り付けます簡単!

0
user7098304

Java 6を使用している場合、Java 7に変更してください。

0
mikemaal