我無法通過Java代碼連接到遠程已知服務器;連接時的異常是java.net.NoRouteToHostException:沒有路由到主機。服務器java的UnknownHostException
但奇怪的是,我能夠通過ssh連接到同一臺服務器。
詳情: 簡單的Java客戶端時,試圖建立與Java獨立服務器的連接,而conneting異常出現在下面的語句:
Socket socket = new Socket(ServerIP ServerPort);
所需的端口是在服務器開放,使外部請求可以進來了。
再下面是返回false
InetAddress.getByName(SERVER_IP).isReachable(1000)
服務器運行於Fedora,Java 5上。
供參考:Java cannot resolve DNS address from AIX: UnknownHostException與我的問題幾乎相同,但不知何故,這與AIX不相關;而且我覺得這個問題更多的是網絡或防火牆問題。
請指導我。
1否我無法telnet主機IP /端口。 2是的我可以通過局域網連接到其他IP。唯一的遠程服務器正在嘗試。 3我正在使用IP地址。 4是兩臺機器都使用防火牆,但服務器防火牆,但已允許監聽特定的端口,客戶機防火牆我想這應該不成問題,因爲它創建傳出連接。 netstat -pan | grep 5014 tcp 0 0 ::: 5014 ::: * LISTEN 6212/java – nilesh 2009-09-07 14:37:36
如果您不能telnet到主機/端口,那麼網絡設置的某處會出現根本性的問題。 – SteveD 2009-09-07 20:59:21
最近我檢查了一下,我可以遠程登錄某些端口(運行mysql-cluster的端口);但沒有任何其他如前面提到的5014。我甚至試圖使用其他一些端口,但沒有用。 – nilesh 2009-09-08 06:07:15