IBM Bluemix在某段时间后断开MqttAndroidClient

时间:2016-05-15 11:19:29

标签: android ibm-cloud mqtt iot

我正在研究CC2650 sensortag和Bluemix(使用IOT启动器样板)作为云解决方案。 cc2650安卓应用程序使用MqttAndroidClient连接到bluemix提供的MQTT服务器。我在一段时间后(大约7分钟)面临的问题是时间问题。

在android studio控制台上可以看到以下异常 d:2f7tpk:ti-sensortag2:B0B448C07886:没有活动超时,keepAlive = 240,000 lastOutboundActivity = 1,463,309,545,312 lastInboundActivity = 1,463,309,275,609 time = 1,463,309,785,352 lastPing = 1,463,309,545,312

请注意,我每10秒钟从我的Android客户端应用程序将数据发布到服务器。所以不确定为什么说没有活动。 Keepalive间隔设置为120秒。

我确认了。 IBM Bluemix在大约7分钟后断开客户端连接。在此期间,客户端以10秒的间隔不断发送数据,并且在Bluemix设备页面上也可以看到。

任何想法为什么Bluemix在6-7分钟后断开连接(它没有固定但是在5分钟中它在7分钟内断开连接,一旦它在6分钟左右)。

新观察: 另一个观察是,一旦它断开连接,那么在我能够重新连接到Bluemix服务器之前需要10-12次重试。从Mqttv3客户端我得到异常"无法连接到服务器"。但在此期间,我可以通过cmdline ping实用程序ping服务器。

1 个答案:

答案 0 :(得分:1)

这是因为手机cpu正处于睡眠模式。 http://dalelane.co.uk/blog/?p=1599详细解释了Android MQTT客户端应该注意的一切。