В чем разница между тайм-аутом, тайм-аутом соединения и таймаутом ответа?

Я использую AsyncHttpclient от Loopj в своем Android-приложении для отправки асинхронных запросов на получение данных. Я хочу отменить задачу, если нет ответа от сервера или если для подключения к серверу требуется более 10 секунд. Я попытался установить тайм-аут, он отменяет задачу после указанной продолжительности, тогда как, если я не установил тайм-аут, я получаю ответ, как и ожидалось. Здесь

public class HttpRestClient {

private final static String BASE_URL = "http://test.com/service.svc/";

private static AsyncHttpClient client = new AsyncHttpClient();

  public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
      client.setTimeout(2000);
      client.get(getAbsoluteUrl(url), params, responseHandler);
  }

  public static void post(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
      client.setTimeout(2000);
      client.post(getAbsoluteUrl(url), params, responseHandler);
  }

  public static void postJSON(Context context, String url, HttpEntity entity, String contentType, RequestParams params, AsyncHttpResponseHandler responseHandler) {
      client.setTimeout(2000);
      client.post(context, getAbsoluteUrl(url), entity, contentType, responseHandler);
  }

  private static String getAbsoluteUrl(String relativeUrl) {
      return BASE_URL + relativeUrl;
  }

}

0 ответов

Другие вопросы по тегам