5

我有一个小的 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!");
    }
}

hosts是一个String[]包含要测试的 URL 的 -Array。当我运行它时,一些 URL 会出现“ ...无法访问! ”,有时会出现“ ...未知”。

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

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

4

2 回答 2

11

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

不可访问意味着它有一个 IP 并尝试联系它但失败了(因为超时或因为它收到了目的地不可达消息)。

于 2013-09-13T09:02:31.380 回答
3

未知主机- 没有足够的信息可用于联系主机/它不知道要联系哪个主机
无法访问- 有足够的信息可用于联系主机,但由于某种原因无法联系(网络错误,超时主机没有' t 及时响应,特权问题等)

于 2013-09-13T09:10:18.183 回答