Mqtt示例应用程序未在Android 5.1.1上保持连接

aga*_*mov 8 android mqtt

我正在尝试在我的应用程序中使用MQTT进行实时通知.作为客户端库我正在使用Eclipse Paho.这是他们的示例android应用程序:https: //eclipse.org/paho/clients/android/

Android 4它工作正常-如果我连和我的设备进入睡眠模式,mqttClient是定期发送ping和保持连接活动.但是当我的Android 5.1.1连接在设备进入睡眠模式的短暂时间后被撕裂.

奇怪的是,我仍然有wifi连接,wifi没有断开(我已经为此实现了BroadcastReceiver),但由于某种原因,MQTT连接没有持久化.

我已经通过Eclipse测试了示例应用程序,使用唤醒锁和定期ping实现了我自己的服务 - 同样的故事.

有谁知道为什么会这样?有什么解决方法吗?

供参考:https://bugs.eclipse.org/bugs/show_bug.cgi?id = 482442

更新:发现如果我将keepAlive超时设置为10秒,则连接将保持不变.如果是20秒,则连接断开.使用http://socket.io时会出现相同的情况(10秒ping - 持续连接,20秒ping - 连接断开).有谁知道为什么?