我正在开发CC2650 sensortag和Bluemix(使用IOT起动器样板)作为云解决方案。cc2650安卓应用程序使用MqttAndroidClient连接到布鲁米克斯提供的MQTT服务器。过了一段时间(大约7分钟)之后,我所面临的问题就会超时。
下面的异常在android studio控制台d:2f7tpk:ti-senortag2: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客户端应用程序将数据发布到服务器。所以不知道为什么它说不活动。保持间隔设置为120秒。
我确认了。大约7分钟后,IBM正在断开客户端的连接。在此期间,客户端以10秒的间隔连续发送数据,这在Bluemix设备页面上也是可见的。
知道为什么布卢米克斯在6-7分钟后断开它(它不是固定的,但在6/5,它在7分钟内被断开,一旦它是6分钟左右)。
新观察:另一个观察是,一旦断开连接,则需要10-12次重试才能重新连接到Bluemix服务器。从Mqttv3客户端,我得到了“无法连接到服务器”的异常。但在此期间,我可以通过cmdline实用程序向服务器进行ping操作。
发布于 2016-05-17 09:00:22
那是因为电话cpu进入睡眠模式。http://dalelane.co.uk/blog/?p=1599详细解释了在Android客户端应该注意什么。
https://stackoverflow.com/questions/37237614
复制相似问题