【问题标题】:Establishing a persistent connection in Android在 Android 中建立持久连接
【发布时间】:2014-09-08 18:06:15
【问题描述】:

对于我的 android 应用程序中的一个屏幕,我需要不确定地收听服务器 - 即;只要屏幕保持打开状态,屏幕中的值就会不断变化。要更新的值将由服务器不断提供。我知道正常的 http 连接在这里不是解决方案。另外,由于性能原因,我不希望发出连续的 http 请求。为了实现这一目标,最好的方法是什么。GCM 云连接服务器是满足我要求的一个很好的解决方案吗?还是有更好的解决方案?请指教。

非常感谢任何帮助。

【问题讨论】:

    标签: android sockets tcp connection


    【解决方案1】:

    我认为有两种选择。如果您自己不拥有服务器,我将启动一项服务以在后台运行并绑定到它。该服务将根据您希望值更新的频率以某个时间间隔轮询服务器。然后该活动将接收定期更新并更新视图。鉴于您要更新的信息实际上并没有那么大,因此每 30 秒到一分钟更新一次不会对性能造成任何影响,因为所有工作都将在异步任务中完成。

    Using an AlarmManager to accomplish this.

    如果您拥有服务器,那么您可以实现 GCM 模型,并且仅在数据更改时发送更新。这是假设应用程序的每个用户当然都会获得相同的更新集。

    Introduction to GCM

    【讨论】:

      【解决方案2】:

      保持屏幕开启可能会消耗电池电量。如果您拥有服务器,则可以使用 GCM 服务将更改推送到应用程序。 据我了解,GCM 捆绑从多个服务器推送消息,试图将消息推送到一起,因此是一种优化的通信方式。

      或者,您可以启动一个服务器,该服务器可以继续轮询原始服务器并通过 GCM 将更改推送到应用程序。

      【讨论】:

        猜你喜欢
        • 2019-03-04
        • 2011-10-26
        • 1970-01-01
        • 1970-01-01
        • 2021-01-09
        • 2010-10-18
        • 2019-02-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多