如何测试远程系统是否可以访问


问题内容

我想测试使用Java可以访问远程系统,或者换句话说使用Java“发送ping”。该功能应封装在具有布尔值的方法中,例如

public boolean isReachable(String ip) {
   // what to do :-)
}

我已经测试了Java Process类,但是由于使用OutputBuffers进行复杂的输出处理,因此我认为这不是最好的方法。

Process proc = Runtime.getRuntime().exec("ping " + ip);

另一种可能性是创建一个Socket Connection并处理抛出的异常,但是如果远程系统是一个“裸”的Unix系统,则另一端可能没有Socket
:-)另外,我希望能够设置一个远程系统无法访问时超时。

那我该怎么办呢?谢谢!


问题答案:
InetAddress.getByName(ip).isReachable(timeout);