2
我想在使用在线组件启动任何活动之前检查我的服务器是否在线。Android - 检查外部服务器是否在线
我已经使用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);
但显然这个功能是与外部服务器地狱,因此它也不起作用。
当然,检查服务器是否在线等基本功能应该是非常简单的?有没有人有任何想法,我还没有尝试过呢?
如果服务器返回类似于500等的东西,但一旦它真的实现并且实际主机正常脱机,它通常会很好,因为某种原因,它会导致应用程序崩溃:/(尽管事实上存在指定的超时和整个事情围绕着try/catch) – alsandair
@ user530501:当您尝试获取'/ robots.txt'时,它会给您一个500返回代码?苛刻。 – CommonsWare
是啊,其实你给了我这个想法,如果我只是检查如果响应是空的,那么到目前为止工作得很好,干杯:) – alsandair