像WhatsApp这样的应用程序是否始终与服务器保持实时连接?

时间:2017-09-04 11:19:11

标签: android ios networking tcp xmpp

我正在创建一个必须实时与服务器一起使用的应用程序。我不确定是否总是带电(或每2分钟检查一次)应用程序因为它可能会耗尽电池。我有什么选择?

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

使用XMPP服务器的应用程序是什么,如上面的答案所述。免费,如果你想创建一个像应用程序的信使应用程序。 Tou可以使用市场上的一些免费实时数据库,例如" FireBase"服务器。

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

以及有关firebase服务器和所需库的更多信息,请访问:https://firebase.google.com/docs/database/