2013-03-28 2 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 <address> 

или если это веб-сервер вы можете попробовать проверить его в своем веб-браузере.
Команда ping полезна для меня в большинстве случаев, так как я знаю, почему именно я не могу подключиться к этому адресу. Это может быть неправильный адрес или, как предлагает javadoc, проблема с брандмауэром.

Смежные вопросы