我无法通过Java代码连接到远程已知的服务器; java.net.NoRouteToHostException:尝试连接时,没有到宿主例外的路由。
但奇怪的是,我可以通过SSH连接到同一台服务器。
详细信息:简单Java客户端尝试与Java独立服务器build立连接时,在以下语句中发生连接exception:
Socket socket = new Socket(ServerIP ServerPort);
所需的端口在服务器上打开,以便外部请求可以进入。
以下是返回false
InetAddress.getByName(SERVER_IP).isReachable(1000)
服务器运行在Fedora,Java 5上。
仅供参考: Java无法parsing来自AIX的DNS地址:UnknownHostException与我的问题几乎相同,但不知何故,这既不是AIX也不是dns相关的; 而且我觉得这个问题更多的是networking或防火墙问题。
请指导我
这是你从主机被防火墙期望的错误。 你可以telnet到该IP上的同一个端口?
如果hostName为null ,则Socket构造函数只应尝试parsing,然后尝试parsing本地主机。 您的/etc/hosts文件是否设置正确?
下面的代码返回什么? (请使用主机名称,而不是IP)。
System.out.println(InetAddress.getByName(hostName));