应用程序处于后台时的连接状态和 XMPP 处理

Posted

技术标签:

【中文标题】应用程序处于后台时的连接状态和 XMPP 处理【英文标题】:Connection state and handling over XMPP when app is in background 【发布时间】:2012-11-29 11:29:53 【问题描述】:

我有一个 ios 应用程序,可以向/从 xmpp 服务器发送/接收消息。 应用的 3 个主要状态是:

    如果此应用程序处于活动状态,它会保持与服务器的持久连接,并通过此争用发送/接收消息。 如果退出此应用程序,则连接断开; xmpp 服务器可以通过 APNS 将消息推送到该用户的 iphone。 如果应用切换到后台,但没有退出;连接没有断开,xmpp服务器也可以向这个应用发送消息,但是这个应用可以接收这些消息,直到切换到活动状态。

WRT 3 个州,我有一个问题: 当应用切换到后台时,连接没有断开,应用可以接收这些消息,然后通过本地通知通知用户吗? 如果可能,我该怎么办?或者,在这种情况下,我应该通过 APNS 通知用户吗?

【问题讨论】:

【参考方案1】:

如果我没记错的话,当应用切换到后台时,连接会在几秒/分钟后丢失。除非您已将您的应用标记为支持 VOIP。

也许你可以通过以下链接:

How to handle socket connection's events when app is in background? How can an iOS app keep a TCP connection alive indefinitely while in the background?

【讨论】:

以上是关于应用程序处于后台时的连接状态和 XMPP 处理的主要内容,如果未能解决你的问题,请参考以下文章

在应用程序后台运行时保持 XMPPStream 处于活动状态

iPhone中的XMPP后台连接

应用程序在后台时的 NSURLConnection

应用程序处于后台时的 iOS 可达性

快速修复 Appestore 解决 XMPP iOS VoIP 后台执行拒绝

收到本地通知时无法播放音乐,当应用程序处于后台状态时