Я пишу приложение, которое подключается к веб-сервису, и я не хочу, чтобы он слишком долго ждал, если он не может получить соединение. Поэтому я устанавливаю connectionTimeout httpparams. Но это, кажется, не имеет никакого эффекта.
Чтобы протестировать, я временно поворачиваю свою WLAN. Приложение пытается подключиться в течение некоторого времени (путь больше, чем 3 секунды, который я хочу), а затем генерирует исключение UnknownHostException.
Вот мой код:
try{
HttpClient httpclient = new DefaultHttpClient();
HttpParams params = httpclient.getParams();
HttpConnectionParams.setConnectionTimeout(params, 3000);
HttpConnectionParams.setSoTimeout(params, 3000);
httppost = new HttpPost(URL);
StringEntity se = new StringEntity(envelope,HTTP.UTF_8);
httppost.setEntity(se);
//Code stops here until UnknownHostException is thrown.
BasicHttpResponse httpResponse = (BasicHttpResponse) httpclient.execute(httppost);
HttpEntity entity = httpResponse.getEntity();
return entity;
}catch (Exception e){
e.printStackTrace();
}
У кого-нибудь есть идеи, что я пропустил?