1

接続の受信エラー: java.net.SocketException: スレッド「Thread-698」で無効な引数例外が発生しました java.lang.RuntimeException: java.lang で Handin2.ConnectionHandlerImpl.run(ConnectionHandlerImpl.java:124) で入力/出力を確立しませんでした。 Thread.run(スレッド.java:722)

私はこの例外について多くのことを探してきました。-Djava.net.preferIPv4Stack=trueどこでも、JVM オプションを指定してコンパイルすれば問題が解決するという結論のようです。しかし、それは私にはありません。IntelliJ を実行しており、ソケットとスレッドを使用して Chord システムを実装しようとしています。これは、上記の例外がキャッチされてスローされる場所です。

if(this.remote == null || this.node == null) {
    throw new RuntimeException("Connection handler has not been properly "
                + "initalialized");
}
try{
    if(this.out == null) {
      this.out = new ObjectOutputStream(remote.getOutputStream());
    }
    if(this.in == null) {
      this.in = new ObjectInputStream(remote.getInputStream());
    }
} catch(IOException e) {
      System.out.println("Trying to make input/output for remote " + remote);
      System.err.println(node.getKey()/Constants.NORMALIZE_KEY+": Error receiving connection: " + e.toString());
      return false;
}

助けるためにさらにコードスニペットが必要かどうかはわかりませんが、検索時の解決策がまったく役に立たないため、この例外で単に迷っています。

このエラーの原因に関するヒントはありますか? ソケット例外は、IO 例外の特殊なケースとして、指定された try-catch ブロックによってキャッチされます

4

1 に答える 1