isReachable 与 ping的关系
java中 利用isReachable来测试对端是否可达.
方法中说isReachable 优先使用 ICMP request 测试 对方是否存在,如果没有权限的话 将使用TCP在对端的7 (echo)端口建立TCP连接。
问题:截图发现 本地一直向 对端的7端口发送连接。 这是不是意味着 本地的 ICMP request 被关闭?
另外 使用 isReachable探测www.baidu.com 显示不可达。是因为百度防火墙拦截了么? 那ping 指令为什么可以直接到达?另外可以直接使用ping 指令,为什么isReachable 就不能发送 ICMP request, 两者应该是一回事吧?
import java.io.IOException;
import java.net.InetAddress;
public class InetAddressTest {
public static void main(String[] args) throws IOException {
InetAddress ip = InetAddress.getByName("www.baidu.com");
System.out.println("host是否可达" + ip.isReachable(4000));
System.out.println(ip.getHostAddress());
}
}