Android - Периодически происходит тайм-аут HttpClient

Привет, я уже задавал этот вопрос, но на этот раз я проверяю этот метод, чтобы все сертификаты не вызывали проблем.

Я разрабатываю приложение, которое есть и на iPhone. Проблема с запросами API. Я устанавливаю тайм-ауты для всех запросов. Иногда бывают перерывы от 30 до 60 секунд. Похоже, что приложение делает пару запросов, а затем прерывается, все время истекает, примерно через 45 секунд все в порядке.

Я не знаю, это проблема сервера или андроида.

Эта проблема не возникает на iPhone с IOS 5, но появляется и на IOS 4.

Я проверяю наличие HttpClient и HttpsURLConnection.

Соединение https, также пытался напрямую IP-адрес.

Все запросы имеют одну и ту же проблему, все запросы находятся в асинхронных задачах.

Все они выглядят одинаково:

DefaultHttpClient client = new HttpSupport().getNewHttpClient();

    client.getCredentialsProvider().setCredentials(new AuthScope(AuthScope.ANY_HOST,AuthScope.ANY_PORT),new UsernamePasswordCredentials(user, pass));

    HttpGet httget = new HttpGet("xxxxxxxxxxxxxxxxxxxxxxx");
    httget.setHeader("Accept", "application/json");

    HttpResponse respond = null;  

    try 
    {
        respond = client.execute(httget);
    } 
    catch (ClientProtocolException e) 
    {
        Log.e(TAG,"getEvents, ClientProtocolException");
    } 
    catch (IOException e) 
    {           
        Log.e(TAG,"getEvents, IOException: " + e.getMessage());
    }

Код моего класса HttpSupport находится в моем предыдущем вопросе: Android — API-запросы

Это может быть ошибка сервера? Спасибо за любую помощь.

Недавно я заметил, что приложение зависает на client.execute... попробуйте сделать так: android httpclient зависает на втором запросе к серверу (время подключения истекло), но это не поможет . Может быть, это не ошибка API, а Android как есть. Это приложение очень часто указывает API, но для большинства запросов все в порядке.

До сих пор не могу избавиться от 30-45 секунд зависаний.

Сегодня я снова протестировал приложение и заметил, что ошибка возникает только при подключении к Wi-Fi на планшете Samsung с версией 3.2. На Wildfire с 2.3.7 (wi-fi и 3g) вроде все нормально. Я не говорю, что проблема не возникает на мобильных устройствах, но пока я тестировал, я не заметил тайм-аутов.

5
задан Community 23 May 2017 в 10:29
поделиться