我有一个小的Java代码,用于测试一堆无法访问的主机。
重要的部分是:

for (String host : hosts) {
    try {
        if (!InetAddress.getByName(host).isReachable(5000)) {
            System.err.println(host + " is not reachable!");
        }
    } catch (UnknownHostException e) {
        System.err.println(host + " is unknown");
    } catch (IOException e) {
        System.err.println(host + "throws IOException!");
    }
}
hostsString[]-完整的URL数组,用于测试。当我运行它时,某些URL会出现“...无法访问!”。有时会出现“...未知”。

但是,这两者之间有什么区别?
无法访问-> ping 5秒后无应答
未知->未找到可ping通的主机

这些只是我的想法,在Google中找不到任何确认或改进的地方。

最佳答案

未知主机意味着它无法解析DNS条目,因此它不知道要联系的IP地址。

无法访问表示它具有IP并尝试联系它,但失败了(由于超时或因为它收到了destination unreachable消息)。

关于java - "is not reachable"和 "unknown host"之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18782278/

10-15 21:51