0

我的任务是用 Java 制作一个简单的控制台 pinger。我尝试了以下代码,但有两个主要问题。

首先,即使我连接到互联网(我可以从控制台 ping 任何站点),当我运行代码时返回 false。

其次,是否可以跟踪 ping 的响应时间?

这是代码:

try {
    InetAddress address = InetAddress.getByName(the_link);
    System.out.println(the_link);
    // Try to reach the specified address within the timeout
    // periode. If during this periode the address cannot be
    // reach then the method returns false.
    boolean reachable = address.isReachable(5000);
    System.out.println("Is host reachable? " + reachable);
} catch (Exception e) {
    e.printStackTrace();
}
4

1 回答 1

1

对于大多数外部 ip,这不是一个好方法。而是可以使用以下

boolean reachable = (java.lang.Runtime.getRuntime().exec("ping -c 1 www.google.lk").waitFor()==0);
于 2012-11-26T08:50:46.510 回答