XMPP 与 Firebase 云消息传递的连接断开
Posted
技术标签:
【中文标题】XMPP 与 Firebase 云消息传递的连接断开【英文标题】:XMPP Connection to Firebase Cloud Messaging Disconnects 【发布时间】:2016-11-04 04:43:59 【问题描述】:当我使用 XMPP 连接到 Firebase Cloud Messaging 时,连接通常会在大约 10 分钟后断开。我发现我必须每隔几分钟向 FCM 发送一条上游消息,以确保连接不会断开。这是预期的吗?
【问题讨论】:
我认为 Firebase documentation 的这一部分可以帮助您了解 XMPP 连接。此外,SO question 解释说,如果您使用 XMPP,则需要上游消息。欲了解更多信息,请查看此link。 不完全确定,但也许您遇到了 控制消息 下 docs 中提到的内容:Periodically, CCS needs to close down a connection to perform load balancing.
【参考方案1】:
是的,根据 XMPP 协议link to XMPP documentation 的文档,这是正常行为
当作为流参与方的实体未收到任何 XMPP 在一段时间内来自其流对等体的流量,对等体可能 似乎沉默了。发生这种情况的原因有多种:
底层 TCP 连接已失效。 XML 流被破坏,尽管底层 TCP 连接有效。 对等方处于空闲状态,根本没有通过其发送任何 XMPP 流量 XML 流到实体。
解决此问题的传统方法是定期通过 XML 流发送所谓的“空白 ping”
【讨论】:
以上是关于XMPP 与 Firebase 云消息传递的连接断开的主要内容,如果未能解决你的问题,请参考以下文章
我们能否仅借助 FCM 而无需 Xmpp 来演示上游消息传递? [关闭]
在 Firebase Cloud Messaging 上通过 XMPP 传递上游消息的误解