客户端或服务器上的NoRouteToHostException?

问题描述:

我越来越客户端或服务器上的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说,虽然试图将套接字连接到 远程地址和端口时发生错误

信号。通常,由于介入防火墙或中间路由器关闭,远程主机不能达到 。

这是客户端或远程端的错误还是它可以是这些?

要么。它可能是阻止拨出呼叫的客户端机器上的防火墙或另一端的防火墙。

+0

我现在面临同样的问题,我应该如何为客户机中的filewall做些什么?我应该关闭它吗? – user5520049

+2

这个答案如何被接受,当它只是一个疯狂的猜测而没有指出真正的问题 –

基本上它说您的客户端无法连接到服务器,因为地址无法从客户端计算机访问。

请检查您是否连接到地址是访问,或者通过平在命令提示符(Windows)或终端命令(基于Unix):

ping <address> 

,或者如果它是一个Web服务器你可以尝试在你的网络浏览器中检查它。
在大多数情况下,ping命令对我很有帮助,因为我知道为什么我无法连接到该地址。它可能是错误的地址,或者像javadoc建议的那样,防火墙问题。