2014-01-29 114 views
1

我需要维护从我的Android应用程序的Java服务器套接字连接。 (我想在android应用程序中维护这个连接)。 作为一种临时解决方案,我每隔1或2分钟迭代刷新一次连接。 (我每次都在我的应用程序和套接字服务器之间建立连接以确保连接得以维持) 是否有另一种解决方案?如何保持android客户端和套接字服务器之间的连接?

我真的需要你的帮助。谢谢。

回答

3

更好的模型基于推送通知。

您的Android设备通过Google GCM服务(https://developer.android.com/google/gcm/index.html)在您的服务器上注册。只要服务器有客户端的数据,就会通过GCM推送它。

使用GCM将使您无需管理实时连接和消息传送保证。

如果客户端有服务器的数据,它可以连接发送断开连接。

上述模型在Android上效果更好,而且电池使用效率更高,更可靠,代码更少。此外,它允许您的应用程序在传入的服务器消息到达时自动唤醒,因此您不必有“前台服务”等待消息,占用电话资源并显示持续通知。

对于使用基于TCP的套接字保持连接,您应该每隔一段时间发送一次保持活动消息。如果该保持活动消息没有发送,则重新建立连接。 为了获得最佳效果,请让Android客户端保持活力。 此外,您的Android监视器连接状态,所以你可以实时知道你的连接已经关闭,或者up。 一个典型的android设备可能会从3G变为wifi,失去地下连接等。

相关问题