我需要在我的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地址。
答案 0 :(得分:3)
根据javadoc http://download.oracle.com/javase/6/docs/api/java/net/InetAddress.html#isReachable%28int%29,它将尝试ICMP Echo请求,如果它不能这样做,它将尝试到达端口7上的主机(echo)。最有可能是第一个防火墙问题,我怀疑google是否已打开端口7。
您是否可以尝试连接,如果失败,那么说主机无法访问?即你需要先检查一下这个具体原因吗?