如何在具有即时消息功能的应用程序中保持黑莓套接字连接

我在应用程序中长时间保持套接字连接时遇到问题.它似乎在一段时间后(每2分钟)断开,特别是如果闲置.

碰巧我正在编写一个带有聊天功能的应用程序,这需要我保持套接字连接,以便我的应用程序的生命周期.我已经尝试过每分钟ping服务器的技巧,但这构成了(黑莓)资源的消耗. Blackberry Push不是一个选项(因为我有除BB设备以外的其他客户端).

请问有谁知道如何解决这个问题或者仍然建议另一种方法来解决这个问题?

[我也感兴趣的是,像WhatsApp,Kiks等即时通讯跨移动平台应用程序如何在不过度耗尽资源的情况下实现这一目标(至少我的资源监控应用程序不会犯规)

最佳答案 我们在几个BB OS版本上发现了与套接字连接相同的行为.我们尝试使用套接字连接选项 – 支持超时,超时值等.但我们没有找到任何可靠且可在所有平台上保持一致的工作.

所以我们最终得到了下一个配置:

>具有推送的设备 – 在不活动超时后切换到推送时保持套接字打开并执行ping操作
>没有推送的设备 – 保持最长可用ping的套接字

案例2很少见,我们也选择了最长的ping时间间隔来保持连接打开.它不能100%工作,我们在某些设备上看到它仍然会断开连接.但是我们小心翼翼地处理这个案子并重新开启新案例.

希望这可以帮助.成功!

点赞