В чем разница между тайм-аутом, тайм-аутом соединения и таймаутом ответа?
Я использую 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;
}
}