反复发送http请求非常快

时间:2014-02-23 15:00:51

标签: java android http

我需要每隔500毫秒(0.5秒)向网址发送一个http请求。我不一定需要回复。

目前我正在使用此代码:

Handler h = new Handler;
HttpClient httpclient = new DefaultHttpClient();

h.postDelayed(new Runnable {
    // Prepare a request object
    HttpGet httpget = new HttpGet(url);

    // Execute the request
    HttpResponse response;
    try {
        response = httpclient.execute(httpget);
        Log.i("DriveCommand", response.getStatusLine().toString());

        HttpEntity entity = response.getEntity();

        if (entity != null) {
            InputStream instream = entity.getContent();
            instream.close();
        }
        h.postDelayed(this, 500);

    } catch (Exception e) {
        e.printStackTrace();
    }
}, 500);

此代码的问题在于它没有发送命令。也许它在等待响应之前发送下一个响应?

1 个答案:

答案 0 :(得分:0)

我最终使用了像Volley或OkHttp这样的异步HTTP库。 Volley将请求添加到队列中并且不等待响应。 (它只是发送新请求,就像我想要的那样)。

我仍在使用处理程序(但现在与Volley结合使用,而不是使用Android的内置http工具),它的工作就像一个魅力!