У меня есть простое приложение, которое периодически отправляет HTTP_GET-запросы на сервер. При отправке запросов по 3G я заметил, что иногда запросы иногда заканчиваются (и ведение журнала на стороне сервера показывает, что он НИКОГДА не получает запрос).Как предотвратить потерю IP-трафика от телефона?
После опроса различных комбинаций я обнаружил один континентный шаблон, когда возникает эта проблема (время истекает после каждых 5-15 успешных запросов).
- TelephonyRegistry: notifyDataConnection() state=2isDataConnectivityPossible()true, reason=null
- TelephonyRegistry: broadcastDataConnectionStateChanged() state=CONNECTEDtypes=default supl, interfaceName=rmnet0
- NetworkLocationProvider: onDataConnectionStateChanged 3
Согласно Google, NetworkLocationProvider изменяется на «DATA_SUSPENDED», что означает «соединение, но IP-трафика временно недоступен». (см. TelephonyManager). В ситуациях, когда запросы HTTP_GET удаются, состояние изменяется на «8». Мое приложение не использует управление местоположением, и я отключил любое другое некритическое приложение от запуска!
Я хочу знать:
- Что является причиной этой проблемы? Почему состояние соединения переходит в DATA_SUSPENDED?
- Можно ли избежать этой проблемы?
Любая помощь/понимание этого очень ценится! Заранее спасибо!
Какова скорость этих соединений? Мы говорим, как 15 попыток подключения за 1 мс? –
Каждый запрос HTTP_GET находился примерно на расстоянии 10 секунд и находился на HTC Hero под управлением Android 2.1. – Thira
Возможно ли, что вы находитесь в зоне, где вы получаете очень плохой сигнал? –