如何ping Android服务中的URL?

Chr*_*ris 12 url service android ping

如何使用Android服务进行ping回调?我需要在按钮单击时打开一个网页,但在后台,请ping另一个URL以进行统计信息收集.

Sep*_*phy 21

我想如果您只想ping一个网址,可以使用以下代码:

try {
    URL url = new URL("http://"+params[0]);

    HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
    urlc.setRequestProperty("User-Agent", "Android Application:"+Z.APP_VERSION);
    urlc.setRequestProperty("Connection", "close");
    urlc.setConnectTimeout(1000 * 30); // mTimeout is in seconds
    urlc.connect();

    if (urlc.getResponseCode() == 200) {
        Main.Log("getResponseCode == 200");
        return new Boolean(true);
    }
} catch (MalformedURLException e1) {
    e1.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

并且,如果您希望具有等效的ping,则可以在调用之前和之后放置System.currentTimeMillis(),并计算差异.

希望有所帮助

此处找到的代码段

  • 您需要将呼叫从主线程移开.Android 4在主线程上不强制执行网络调用以防止ANR问题. (10认同)
  • 这将建立一个完全3次握手的TCP连接.所以时间不像ping(`ICMP-echo - > ICMP-reply`) (2认同)