12

私は得ています

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言う

ソケットをリモート アドレスおよびポートに接続しようとしたときにエラーが発生したことを通知します。通常、介在するファイアウォールが原因で、または中間ルーターがダウンしている場合、リモート ホストに到達できません。

このエラーはクライアント側またはリモート側で発生していますか?それともこれらのいずれかである可能性がありますか?

4

6 に答える 6

9

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

コマンド プロンプト (Windows) またはターミナル (Unix ベース) でpingコマンドを使用して、接続先のアドレスにアクセスできることを確認してください。

ping <address>

または、Web サーバーの場合は、Web ブラウザーで確認してみてください。
ほとんどの場合、ping コマンドは役に立ちます。アドレスに接続できない理由が正確にわかるからです。アドレスの入力ミスか、javadoc が示唆するように、ファイアウォールの問題である可能性があります。

于 2013-03-28T16:33:45.493 に答える
6

また。クライアント マシンのファイアウォールが発信通話をブロックしている可能性があります。

于 2013-03-28T15:59:22.373 に答える