我需要在我的android应用程序的java服务器套接字中维护一个连接。 (我想在android应用程序中维护此连接)。 作为临时解决方案,我每隔1或2分钟迭代刷新一次连接。 (我每次在应用程序和套接字服务器之间建立连接以保证连接得到维护) 还有其他解决方案吗?
我真的需要你的帮助。感谢。
答案 0 :(得分:3)
更好的模型基于推送通知。
您的Android设备通过Google GCM服务(https://developer.android.com/google/gcm/index.html)向您的服务器注册。每当服务器为您的客户端提供数据时,它就会将其推送到GCM。
使用GCM可以帮助您管理实时连接和邮件传递保证。
如果客户端有服务器的数据,则可以connect-send-disconnect。
上述型号在Android上运行得更好,而且电池效率更高,更可靠,代码更少。此外,它允许您的应用程序在传入服务器消息到达时自动唤醒,因此您不必运行“前台服务”等待消息,占用电话资源并显示持续通知。
为了使用基于TCP的套接字保持连接,您应该每隔一段时间发送一个保持活动消息。如果保持活动消息未发送,则重新建立连接。 为了获得最佳效果,让Android客户端保持活力。 此外,还有您的Android显示器连接状态,这样您就可以实时了解您的连接是否已关闭或已关闭。 典型的Android设备可能会从3G变为wifi,失去地下连接等。