通过java客户端代码的服务器UnknownHostException

我无法通过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上的同一个端口?

  1. 如果hostNamenull ,则Socket构造函数只应尝试parsing,然后尝试parsing本地主机。 您的/etc/hosts文件是否设置正确?

  2. 下面的代码返回什么? (请使用主机名称,而不是IP)。

     System.out.println(InetAddress.getByName(hostName));