2013-03-28 19 views
5

Tôi nhậnNoRouteToHostException trên máy khách hoặc máy chủ?

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 nói

tín hiệu rằng một lỗi xảy ra khi cố gắng kết nối với một ổ cắm để một địa chỉ từ xa và cổng. Thông thường, máy chủ từ xa không thể là do tường lửa can thiệp hoặc nếu bộ định tuyến trung gian bị hỏng.

Lỗi này ở phía máy khách hoặc từ xa hoặc có thể là một trong hai lỗi này?

Trả lời

2

Hoặc. Nó có thể là một tường lửa trên máy khách chặn các cuộc gọi đi hoặc ở đâu đó ở đầu bên kia.

+0

Tôi đang gặp phải sự cố tương tự ngay bây giờ, tôi nên làm gì cho filewall trong máy khách? Tôi có nên đóng nó không? – user5520049

+2

Câu trả lời này được chấp nhận như thế nào, khi nó chỉ là một phỏng đoán hoang dã mà không xác định được vấn đề thực sự –

6

Về cơ bản, khách hàng của bạn không thể kết nối với máy chủ do địa chỉ không thể truy cập được từ máy khách.

Vui lòng kiểm tra địa chỉ mà bạn đang kết nối để có thể truy cập, hoặc thông qua ping lệnh trong Command Prompt của bạn (Windows) hoặc thiết bị đầu cuối (Unix-based):

ping <address> 

hoặc nếu đó là một máy chủ web bạn có thể thử kiểm tra nó trong trình duyệt web của bạn.
Lệnh ping rất hữu ích đối với tôi trong hầu hết các trường hợp, vì tôi biết tại sao chính xác tôi không thể kết nối với địa chỉ. Nó có thể là một địa chỉ sai hoặc giống như javadoc gợi ý, vấn đề với tường lửa.