mqtt - 如何检查代理何时将消息传递给客户端(订阅者)

标签 mqtt

我正在为我的 Android 项目实现 Paho MQTT Java 客户端。它基本上是一个即时消息系统。发布和订阅实现对我来说工作得很好,但我留下了一个问题。订阅的客户端能够在发布消息时接收消息,但是系统检查客户端(订阅者)何时接收/发送消息的能力有点难以实现,我认为这是因为 MQTT 不支持。

有人知道如何以不同的方式实现这个逻辑吗?

最佳答案

MQTT 协议(protocol)没有内置的端到端传送通知。无法知道某个主题有多少订阅者,可能在 0 到多个之间。

如果您需要端到端传送通知,那么您需要将其构建到您的应用程序中,方法是向每条消息的有效负载添加唯一的 ID,然后使用来自客户端的该 ID 发布另一条消息(可能在单独的主题上)订阅了原始主题。消息还应该在 QOS 2 上发布和订阅,以确保它们只传递一次。

关于mqtt - 如何检查代理何时将消息传递给客户端(订阅者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41811688/

相关文章:

request - 使用 MQTT 的 RPC 样式请求

android - 即使在应用程序终止后也能收到 Mqtt 通知

java - MQTT 和 Junit - 寻找嵌入式 MQTT 代理

c - 如何使用mosquitto_publish同步发布数据?

javascript - MQTT 连接在 Node 中工作,但不能作为 ReactJS 组件

azure - 在 VM 上配置 Mosquitto 连接到 Azure WebApp

mqtt - MQTT 代理可以配置为以不同的速率向订阅者发送数据吗?

openssl - Mosquitto OpenSSL 握手失败。

android - 在 android 中使用 MQTT 的基本步骤

android - Java 客户端无法在 Android 上接收来自 Mosquitto 的消息