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

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

Android 4它工作正常 – 如果我连接并且我的设备进入睡眠模式,mqttClient发送周期性ping,并保持连接活着。 但是,在我的Android 5.1.1连接在设备进入睡眠模式一小段时间后被撕裂。

奇怪的是,我仍然有WiFi连接,WiFi没有断开(我已经为此实现了一个BroadcastReceiver),但由于某种原因,MQTT连接不会持久。

我已经通过Eclipsetesting了示例应用程序,实施了自己的服务,使用唤醒locking和周期性ping – 同样的故事。

有谁知道为什么会发生这种情况? 任何解决方法?

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

更新:发现,如果我设置keepAlive超时到10秒,连接是持久的。 如果是20秒,则连接被丢弃。 使用http://socket.io时会发生同样的情况(10秒钟ping – 连接持续,20秒ping – 连接中断)。 有谁知道为什么?

Solutions Collecting From Web of "Mqtt示例应用程序不保持连接在Android 5.1.1上"