【问题标题】:Do apps like WhatsApp keep an always live connection with server?WhatsApp 之类的应用程序是否始终与服务器保持实时连接?
【发布时间】:2018-02-12 14:59:04
【问题描述】:

我正在创建一个必须与服务器实时同步的应用程序。我不确定是否要有一个始终在线(或每 2 分钟检查一次服务器)应用程序,因为它可能会耗尽电池电量。我的替代方案是什么?

【问题讨论】:

  • 推送通知?
  • 如果您在特定时间间隔更新服务器上的数据,请使用服务

标签: android ios networking tcp xmpp


【解决方案1】:

WhatsApp 使用 XMPP(可扩展消息传递和存在协议)来处理消息传递系统。 XMPP 主要类似于 HTTP,客户端通过 XMPP 服务器打开套接字,并在客户端登录时保持打开状态。它不像常规 REST API,客户端打开套接字发送/接收数据并关闭套接字.只要您登录,套接字就会打开。如果 WhatsApp 是永恒的(不是真的,如果连接终止,WhatsApp 会自动重新连接)

【讨论】:

    【解决方案2】:

    如前所述,使用推送通知(即使应用已关闭)或套接字连接(应用在后台运行)。如果应用程序在前台,您可以使用任何您想要的 - 屏幕会占用大部分电池...

    【讨论】:

      【解决方案3】:

      Whats 应用程序使用 XMPP 服务器,如上述答案中所述。免费,如果你想创建一个像什么应用程序这样的信使应用程序。头可以使用市面上一些免费的实时数据库如“FireBase”服务器。

      您可以在此处获取示例代码:https://codelabs.developers.google.com/codelabs/firebase-android/#0

      您可以在此处找到有关 firebase 服务器和所需库的更多信息:https://firebase.google.com/docs/database/

      【讨论】:

        猜你喜欢
        • 2015-09-09
        • 2017-01-27
        • 1970-01-01
        • 1970-01-01
        • 2022-09-30
        • 1970-01-01
        • 2012-10-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多