我的Java Internet连接检查总是失败

时间:2011-11-22 00:37:33

标签: java

我需要在我的Java应用程序中检查Internet连接。我创建了这个简单的程序,但总是说错误。

import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;

public class Internet {

public static void main(String args[]){
    String host = "209.85.175.104";
    int timeOut = 10000; // I recommend 3 seconds at least
    try {
        boolean status = InetAddress.getByName(host).isReachable(timeOut);
        System.out.println(status);
    } catch (UnknownHostException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
   }

}

我试过String host = "www.google.com";我通过在终端上ping并复制它来获得该IP地址。

1 个答案:

答案 0 :(得分:3)

根据javadoc http://download.oracle.com/javase/6/docs/api/java/net/InetAddress.html#isReachable%28int%29,它将尝试ICMP Echo请求,如果它不能这样做,它将尝试到达端口7上的主机(echo)。最有可能是第一个防火墙问题,我怀疑google是否已打开端口7。

您是否可以尝试连接,如果失败,那么说主机无法访问?即你需要先检查一下这个具体原因吗?