IBM Bluemix在一段时间后断开MqttAndroidClient

IBM Bluemix在一段时间后断开MqttAndroidClient,android,ibm-cloud,mqtt,iot,Android,Ibm Cloud,Mqtt,Iot,我正在使用CC2650 sensortag和Bluemix(使用IOT初学者样板)作为云解决方案。 cc2650 android应用程序使用MqttAndroidClient连接到bluemix提供的MQTT服务器。我所面临的问题在一段时间后(大约7分钟)它得到了解决 以下异常在android studio控制台上可见 d:2f7tpk:ti-sensortag2:B0B448C07886:因无活动而超时,keepAlive=240000 lastOutboundActivity=1463309

我正在使用CC2650 sensortag和Bluemix(使用IOT初学者样板)作为云解决方案。 cc2650 android应用程序使用MqttAndroidClient连接到bluemix提供的MQTT服务器。我所面临的问题在一段时间后(大约7分钟)它得到了解决

以下异常在android studio控制台上可见 d:2f7tpk:ti-sensortag2:B0B448C07886:因无活动而超时,keepAlive=240000 lastOutboundActivity=1463309545312 lastInboundActivity=1463309275609时间=1463309785352 lastPing=1463309545312

请注意,每隔10秒,我就会从android客户端应用程序将数据发布到服务器。所以我不知道为什么它说没有活动。 Keepalive interval设置为120秒

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

知道为什么Bluemix会在6-7分钟后断开它的连接吗(它不是固定的,但在5分之6的情况下,它会在7分钟内断开连接,曾经是6分钟左右)

新的观察结果:
另一个观察结果是,一旦断开连接,我需要10-12次重试才能重新连接到Bluemix服务器。从Mqttv3客户端,我得到异常“无法连接到服务器”。但在此期间,我能够通过cmdline ping实用程序ping到服务器。

这是因为电话cpu处于睡眠模式。 详细说明在Android MQTT客户端中应注意的事项