0

Java コードを介してリモートの既知のサーバーに接続できません。接続中の例外は java.net.NoRouteToHostException: No route to host です。

しかし、奇妙なことに、ssh を介して同じサーバーに接続できます。

詳細: シンプルな Java クライアントが Java スタンドアロン サーバーとの接続を確立しようとすると、次のステートメントで例外が発生します。

Socket socket = new Socket(ServerIP ServerPort);

必要なポートはサーバー上で開いているため、外部からのリクエストを受信できます。

繰り返しますが、以下は false を返します

InetAddress.getByName(SERVER_IP).isReachable(1000)

サーバーは Fedora、Java 5 で実行されています。

参考までに: Java は AIX から DNS アドレスを解決できません: UnknownHostExceptionは私の質問とほぼ同じですが、どういうわけかこれは AIX 関連ではありません。さらに、問題はネットワークまたはファイアウォールの問題であると感じています。

私を案内してください。

4

3 に答える 3

0

問題の領域を絞り込むためにテストすることをお勧めします。

  1. ホスト/ポートに telnet できますか?
  2. Java は他のホスト/ポートに正常に接続できますか?
  3. ホスト名または IP アドレスを使用していますか - 使用していない方を試してください。
  4. いずれかのコンピュータでファイアウォールが実行されていますか?
于 2009-09-07T12:10:10.243 に答える
0

.ssh/configさらに、ファイルも確認する必要がありますHostname。コマンド ラインで使用する名前に別の定義がある可能性があります。

于 2009-09-07T12:23:28.877 に答える
0

/etc/hosts はどうですか? なんか干渉するかも?推測です。

于 2009-09-08T22:43:54.477 に答える