OStack程序员社区-中国程序员成长平台

标题: android - 当应用程序关闭时,whatsapp 如何保持其 eJabberd/XMPP 服务器连接? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 08:24
标题: android - 当应用程序关闭时,whatsapp 如何保持其 eJabberd/XMPP 服务器连接?

当应用程序完全关闭时,Whatsapp 如何保持与套接字的连接。

Whatsapp 是否使用 GCM 或 APNS 推送来触发应用与 Ejabberd 同步?有人说它总是保持连接(我对此很陌生)但我测试我重新启动手机,清除内存,AppManager 强制关闭 Whatsapp,它仍然收到消息。所以想知道你能否让代码在操作系统级别运行以在一切都关闭时保持连接?还是只使用 GCM 作为触发器?

当没有应用在后台运行时,手机唯一的连接不是 Android GCM 吗?

我很困惑,如果Whatsapp确实使用XMPP协议(protocol),那么App在完全关闭的情况下如何保持与服务器的连接?

我进一步研究,发现 Pubnub 正在运行与 TCP 或 XMPP 协议(protocol)类似的东西,并且可以在应用程序在后台时研究消息......但不是 IOS。 http://www.pubnub.com/knowledge-base/discussion/381/can-my-ios-app-receive-messages-while-inactive

它需要 APNS 推送首先唤醒应用程序,然后重新建立连接。但是Whatsapp呢?看起来像 Appstore 合规性问题?但是AppStore允许许多应用程序在后台运行,但它不允许Pubnub或有连接的应用程序在后台保持活跃吗?



Best Answer-推荐答案


要在 iOS 上构建聊天应用程序,无论如何您都会在几分钟后断开连接。您要做的就是依靠 Apple Push Notification 服务让用户知道收到了新消息。

这意味着您必须确保对 ejabberd 进行了修改,以便能够利用推送通知服务,而不仅仅是依靠 XMPP 连接来告知用户新消息。

关于android - 当应用程序关闭时,whatsapp 如何保持其 eJabberd/XMPP 服务器连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31008734/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4