像WhatsApp这样的应用程序能够保持与服务器的直播连接吗?

像WhatsApp这样的应用程序能够保持与服务器的直播连接吗?

问题描述:

我正在创建一个必须实时与服务器同时运行的应用程序。我不确定是否有永远在线(或每2分钟检查一次服务器)的应用程序,因为它可能会耗尽电池。我有什么选择?像WhatsApp这样的应用程序能够保持与服务器的直播连接吗?

+1

推送通知? –

+0

如果您在特定的时间间隔更新服务器上的数据,则使用服务 –

WhatsApp使用XMPP(eXtensible Messaging and Presence Protocol)来处理消息传递系统。 XMPP大部分类似于HTTP,其中客户端使用XMPP服务器打开套接字,并且只要客户端登录就保持打开状态。它不像常规REST API,客户端打开套接字时发送/接收数据并关闭插座。只要您已登录,套接字就会打开。如果WhatsApp是永久的(不是真的,如果连接终止,WhatsApp会自动重新连接)

按照书面,使用推送通知(即使关闭应用程序也可以使用)或套接字连接(在后台使用应用程序)。如果应用程序是在前台,你可以使用任何你想要的 - 屏幕将需要大部分电池...

什么应用程序使用XMPP服务器,就像上面提到的答案。免费的,如果你想创建一个messenger应用程序,像什么应用程序。 Tou可以使用市场上的一些免费实时数据库,如“FireBase”服务器。

你可以在这里的示例代码:https://codelabs.developers.google.com/codelabs/firebase-android/#0

和有关火力服务器和需要的库,你可以在这里找到更多的信息:https://firebase.google.com/docs/database/