首页 文章

websocket 连接保持断开连接[1]

提问于
浏览
0

我的应用程序使用这个图书馆建立到 URL 的 websocket 连接。一切都很好。该应用程序是一个通信应用程序(发送和接收消息)。当应用程序转到后台(按主页键)时,websocket 连接仍然有效,用户会收到新消息的推送通知。

问题是,当应用程序处于后台时,经过一段时间后,websocket 连接会自动断开连接。现在这个时间间隔每次都不同(有时是 5 秒,有时是 5 分钟)。

现在问题不在于 URL(没有空闲的 time/timeout 问题 - 相信我,它在其他平台上运行正常)。所以我正在寻找这种行为的可能原因,以便我可以解决问题。

当应用程序进入后台时,如何断开 websocket 连接。另外,我应该运行连续后台服务作为补救措施吗?

PS:现在应用程序中没有服务。当应用程序进入后台时,库应该让 websocket 连接运行。

1 回答

  • 0

    问题是,当应用程序背景时,您正在使用的库不会停止连接...但是,Android 可能会终止该进程。

    A Service专门用于防止该问题。如果你在Service中实现它应该解决你的问题。

    提醒一句:仅仅因为你可以这样做并不意味着你应该这样做。实现Service时,请注意内存和电池使用情况。它们旨在无限期地在后台运行 - 如果你有 CPU/battery 密集代码,你可以让一些用户非常不满意,或者如果消耗太多内存,Android 可能会杀死Service

相关问题