我正在为我的 Android 项目实现 Paho MQTT Java 客户端。它基本上是一个即时消息系统。发布和订阅实现对我来说工作得很好,但我留下了一个问题。订阅的客户端能够在发布消息时接收消息,但是系统检查客户端(订阅者)何时接收/发送消息的能力有点难以实现,我认为这是因为 MQTT 不支持。
有人知道如何以不同的方式实现这个逻辑吗?
最佳答案
MQTT 协议(protocol)没有内置的端到端传送通知。无法知道某个主题有多少订阅者,可能在 0 到多个之间。
如果您需要端到端传送通知,那么您需要将其构建到您的应用程序中,方法是向每条消息的有效负载添加唯一的 ID,然后使用来自客户端的该 ID 发布另一条消息(可能在单独的主题上)订阅了原始主题。消息还应该在 QOS 2 上发布和订阅,以确保它们只传递一次。
关于mqtt - 如何检查代理何时将消息传递给客户端(订阅者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41811688/