Java Android-检查外部服务器是否在线
在启动任何带有联机组件的活动之前,我想检查我的服务器是否联机 我试过使用pingJava Android-检查外部服务器是否在线,java,android,ping,Java,Android,Ping,在启动任何带有联机组件的活动之前,我想检查我的服务器是否联机 我试过使用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); 但显然,对于外部服务
runtime.exec("ping -c 1 google.com");
proc.waitFor();
int exit = proc.exitValue();
但这将始终给出退出代码1或2,而不是0,即使我知道服务器处于联机状态
我也试过了
Online=InetAddress.getByName("www.google.com").isReachable(10000);
但显然,对于外部服务器来说,这个功能非常脆弱,因此也不起作用
像检查服务器是否在线这样的基本功能应该非常简单吗?有人有我还没有尝试过的想法吗?尝试连接到服务器,使用您将要“真正”使用的任何协议。服务器响应
ping
并不意味着服务器正在为您所需要的目的运行。因此,例如,如果您要请求Web服务,请执行一些简单的HTTP操作。t如果服务器返回500等值,通常可以。但是当它真正执行此操作并且实际主机正确脱机时,它会因某种原因强制应用程序崩溃:/(尽管有一个指定的超时时间,整个过程都围绕着一个try/catch)@user530501:当你尝试获取/robots.txt
?Harsh.yeah,实际上你给了我一个想法,如果我只检查响应是否为null,那么目前为止一切正常,干杯:)