https на tmobile Android очень медленный (с использованием метода httpclient.execute)

#android #ssl #mobile #https #httpclient

#Android #ssl #Мобильный #https #httpclient

Вопрос:

У меня есть приложение, которое выполняет многочисленные вызовы веб-служб REST, которые я написал. Я вообще заметил, что при добавлении SSL время выполнения веб-вызовов составляло от <1 секунды до ~ 3 секунд. Это нормально при добавлении SSL? Я измерил время, используя Droid, HTC Thunderbolt и Samsung Tablet (все на Verizon).

Что действительно БЕЗУМНО: при использовании телефона в сети TMobile (Comet и Nexus) те же вызовы (через HTTPs) занимают 30-40 секунд каждый. Если я удалю SSL, те же вызовы будут занимать <1 секунды, как и на других устройствах. Есть какие-либо подсказки относительно того, почему у SSL на устройствах TMobile возникают эти проблемы? Я в тупике?

Код:

     String url = BASE_URL   path;
    HttpClient httpclient = new DefaultHttpClient();
    httpclient.getParams().setParameter("http.socket.timeout", new Integer(30000));
    httpclient.getParams().setParameter("setSocketBufferSize", 8192);
    HttpPost httppost = new HttpPost(url);
    httppost.addHeader("Content-Type", "text/json");
    InputStream istream = null;

    try {
        httppost.setEntity(new StringEntity(request.toString()));
        HttpResponse response = httpclient.execute(httppost);
        istream = response.getEntity().getContent();
        String result = IOUtils.toString(istream);
    ...
  

Комментарии:

1. Из-за вычислительной мощности у любого мобильного устройства могут возникнуть проблемы с HTTPS. Протокол HTTPS намного дороже, чем «традиционный» HTTP.

2. Я не думаю, что это проблема, потому что, если я подключу Comet и Nexus к своей сети Wi-Fi, время обработки веб-вызовов HTTPS будет таким же, как и на других устройствах (~ 3 секунды). Итак, очевидно, что только в сети TMobile это занимает 30-40 секунд.

3. Вы не можете сравнить Wifi (WLAN) с GPRS / UMTS. Задержка в сети UMTS составляет около 500 мсек и даже хуже; WLAN работает намного быстрее. Это сильно влияет на время установления связи SSL / TLS.

4. Мой вопрос в том, почему вызов HTTPS в сетях Sprint, Verizon или AT amp; T занимает 3 секунды, а на TMobile Comet или Nexus — 30-40 секунд?