ip:port へのソケット接続を確立しようとしていますが、コンピュータの 1 つですべて正常に動作します。クライアントはまずソケット接続でサーバーに接続してログインします。その後、サーバーからの着信接続が期待され、成功します。
しかし、別のコンピューターで試してみたところ、クライアントは最初の接続を確立してログインに成功し、着信接続を待ちました。接続が開始されるサーバー側で、次のメッセージが表示されました。
java.net.NoRouteToHostException
着信接続が失敗しました。
なぜそれが起こるのでしょうか?ファイアウォールの問題でしょうか?
s = new Socket(id, 4446);
BufferedWriter out1 = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader in1 = new BufferedReader(new InputStreamReader(s.getInputStream()));
それが46行目
java.net.NoRouteToHostException: No route to host: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at sample_server.doComms.run(doComms.java:46)
at java.lang.Thread.run(Unknown Source)