2013-03-28 134 views
5

私は取得していますクライアントまたはサーバーでNoRouteToHostExceptionが発生しましたか?

Caused by: java.net.NoRouteToHostException: No route to host 
at java.net.PlainSocketImpl.socketConnect(Native Method) 
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) 
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) 
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) 
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 
at java.net.Socket.connect(Socket.java:529) 
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:564) 
at sun.reflect.GeneratedMethodAccessor638.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:140) 
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:130) 
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707) 
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387) 
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) 
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) 
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) 

javadocは にリモートアドレスとポートをソケットに接続しようとした際にエラーが発生した

信号を言います。通常、ファイアウォールが介在しているために、または中間ルータ がダウンしているため、リモートホストには に到達できません。

クライアント側またはリモート側でこのエラーが発生しているか、どちらか一方になる可能性がありますか。

答えて

2

いずれかです。それは、クライアントマシン上のファイアウォールで、発信コールをブロックしたり、相手先のどこかでブロックすることができます。

+0

私は同じ問題に直面しています。クライアントマシンのファイルウォールでどうすればよいですか?私はそれを閉じなければならない? – user5520049

+2

真の問題点を特定することなく過激な推測を行うだけの場合、この回答はどのように受け入れられましたか –

6

基本的には、クライアントマシンからアドレスにアクセスできないため、クライアントがサーバーに接続できないというメッセージが表示されます。

いずれか、接続先のアドレスがアクセス可能であることを確認し、あなたのコマンドプロンプト(Windows)またはターミナル(Unixベース)でのpingコマンドを経由してください:

ping <address> 

か、Webサーバーの場合あなたはあなたのウェブブラウザでそれをチェックしようとすることができます。
pingコマンドは、ほとんどの場合、私がアドレスに接続できない理由を知っているので役に立ちます。誤ったアドレスや、javadocが示唆しているように、ファイアウォールに関する問題がある可能性があります。

関連する問題