isReachable方法的基础问题
isReachable方法API
public boolean isReachable(int timeout)
throws
IOException测试是否可以达到该地址。实现尽最大努力试图到达主机,但防火墙和服务器配置可能阻塞请求,使其在某些特定的端口可以访问时处于不可到达状态。如果可以获得权限,则典型实现将使用 ICMP ECHO REQUEST;否则它将试图在目标主机的端口 7 (Echo) 上建立 TCP 连接。
超时值(以毫秒为单位)指示尝试应该使用的最大时间量。如果在获取应答前操作超时了,则视为主机不可到达。负值将导致抛出
IllegalArgumentExceptionJava code
InetAddress iad1 = InetAddress.getByName("http://www.baidu.com/");
System.out.println(iad1.isReachable(1000));
为什么上面代码总是返回false啊,我把杀毒软件和windows防火墙全关了也是返回false
------解决方案--------------------
Java code
InetAddress iad1 = InetAddress.getByName("http://www.baidu.com/index.html");
System.out.println(iad1.isReachable(1000));