2016-05-15 2 views
1

Я работаю над CC2650 sensortag и Bluemix (с использованием шаблона стартера IOT) в качестве облачного решения. Приложение cc2650 android использует MqttAndroidClient для подключения к серверу MQTT, предоставляемому bluemix. Проблема, с которой я столкнулся после некоторого времени (около 7 минут), получает тайм-аут.IBM Bluemix отключает MqttAndroidClient после некоторого времени

Вслед за исключением видна на андроид студии консоли D: 2f7tpk: Ti-sensortag2: B0B448C07886: тайм-аут как никакой активности, Keepalive = 240000 lastOutboundActivity = 1,463,309,545,312 lastInboundActivity = 1.463.309.275.609 время = 1.463.309.785.352 lastPing = 1.463.309.545.312

Обратите внимание, что каждые 10 секунд я публикую данные на сервере из своего клиентского приложения Android. Поэтому не уверен, почему он не говорит об активности. Интервал сохранения составляет 120 секунд.

Я подтвердил это. IBM Bluemix отключает клиент примерно через 7 мин. В течение этого периода клиент постоянно отправлял данные с интервалом в 10 секунд, и это также было видно на странице устройства Bluemix.

Любая идея, по которой Bluemix отключает ее через 6-7 минут (она не фиксирована, но из 6 в 5 она отключилась через 7 мин, а раз около 6 минут).

Новое наблюдение: Другое наблюдение после того, как оно отключено, тогда он принимает 10-12 попыток, прежде чем я смогу снова подключиться к серверу Bluemix. Из клиента Mqttv3 я получаю исключение «Невозможно подключиться к серверу». Но в течение этого периода я могу выполнить ping на сервер с помощью утилиты pdd cdline.

ответ

1

Это произошло потому, что телефонный процессор перешел в спящий режим. http://dalelane.co.uk/blog/?p=1599 подробно объясняет, как все должно быть позабочено в клиенте Android MQTT.

Смежные вопросы