gpt4 book ai didi

ios - 如何使用 cocoaMQTT 在 iOS 中使订阅者离线

转载 作者:行者123 更新时间:2023-11-30 12:03:09 28 4
gpt4 key购买 nike

我正在使用 swift 开发 iOS。我正在我的 iOS 应用程序中使用 cocoa mqtt 协议(protocol)。我还使用 Activemq 作为消息代理。

目标

我订阅了 ActiveMQ 上创建的主题。之后,当我取消订阅 ActiveMQ 上的主题时,我希望用户仍然是该主题的订阅者,但不会收到消息。它离线了。

我希望当订阅者再次活跃时,他可以使用主题中的待处理消息。

问题陈述

当我取消订阅该主题时,该用户不再是该主题的订阅者,并且在取消订阅期间收到的所有关于该主题发送的消息都会丢失(我没有收到它们)。

最佳答案

此问题的一个解决方案是使用 MQTT 中内置的保留消息传递功能。然后,您将收到关于每个主题发布的最后一条消息,即使您已经在之前的 session 中收到过这些消息。

另一个解决方案是对发送的消息使用 QoS 1 或 2。如果您的应用将 cleanSession 设置为 false 进行连接,并且消息是使用 QoS 1 或 2 发布的,那么您将收到与代理断开连接时发送的消息。

了解有关 MQTT QoS 的更多信息 here .

关于ios - 如何使用 cocoaMQTT 在 iOS 中使订阅者离线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46974852/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com