我想在使用在线组件启动任何活动之前检查我的服务器是否在线。
我尝试过使用ping
runtime.exec("ping -c 1 google.com");
proc.waitFor();
int exit = proc.exitValue();
但是这总是会提供退出代码1或2,永远不会为0,即使我知道服务器在线也是如此..
我也试过
Online=InetAddress.getByName("www.google.com").isReachable(10000);
但显然这个功能对于外部服务器来说太好了,因此它也不起作用。
检查服务器是否在线这样的基本功能当然应该非常简单?有没有人有任何我尚未尝试的想法?
答案 0 :(得分:2)
尝试使用“真实”使用的任何协议连接到服务器。仅仅因为服务器响应ping
并不意味着服务器正在运行您所需的服务器。因此,例如,如果您要发出Web服务请求,请执行一些简单的HTTP操作。