2013-03-28 17 views
5

sto ottenendoNoRouteToHostException su client o server?

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 dice

I segnali che si è verificato un errore durante il tentativo di collegare un socket a un indirizzo remoto e la porta. In genere, l'host remoto non può essere raggiunto a a causa di un firewall intermedio o se un router intermedio non è attivo.

Questo errore è sul lato client o sul lato remoto oppure può essere uno di questi?

risposta

2

O. Potrebbe essere un firewall sul computer client che blocca le chiamate in uscita o da qualche altra parte.

+0

Ora sto affrontando lo stesso problema, cosa devo fare per il firewall nel computer client? Dovrei chiuderlo? – user5520049

+2

Come è stata accettata questa risposta, quando fa semplicemente una supposizione selvaggia senza individuare il vero problema –

6

In pratica, si dice che il client non è in grado di connettersi al server a causa dell'indirizzo inaccessibile dal computer client.

Si prega di verificare che l'indirizzo ci si connette a è accessibile, tramite ping comando nel prompt dei comandi (Windows) o terminale (basato su UNIX):

ping <address> 

o se si tratta di un server web puoi provare a controllarlo nel tuo browser web.
Il comando ping è utile per me nella maggior parte dei casi, poiché vorrei sapere perché esattamente non riesco a connettermi all'indirizzo. Può essere un indirizzo errato o, come suggerisce la javadoc, un problema con il firewall.