WhatsApp 之类的应用程序是不是始终与服务器保持实时连接?
Posted
技术标签:
【中文标题】WhatsApp 之类的应用程序是不是始终与服务器保持实时连接?【英文标题】:Do apps like WhatsApp keep an always live connection with server?WhatsApp 之类的应用程序是否始终与服务器保持实时连接? 【发布时间】:2018-02-12 14:59:04 【问题描述】:我正在创建一个必须与服务器实时同步的应用程序。我不确定是否要有一个始终在线(或每 2 分钟检查一次服务器)应用程序,因为它可能会耗尽电池电量。我的替代方案是什么?
【问题讨论】:
推送通知? 如果您在特定时间间隔更新服务器上的数据,请使用服务 【参考方案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/
【讨论】:
以上是关于WhatsApp 之类的应用程序是不是始终与服务器保持实时连接?的主要内容,如果未能解决你的问题,请参考以下文章