【发布时间】:2020-05-05 06:33:59
【问题描述】:
我确实在我的应用程序中使用了 PAHO C 客户端库。我确实订阅了 MQTTAsync_subscribe() 和 QoS 设置为 1 的主题。据我了解,1 意味着至少一次向客户端发送消息。
我断开了订阅主题的客户端,而发布主题的客户端仍在向 Mosquitto 代理发送消息。如果我在几个小时后启动订阅者,我会在订阅者关闭时从最后一条消息开始获得所有缓冲的消息。到现在为止还挺好!但问题是,消息到达的时间间隔与发布者发送新消息的时间间隔相同。这样一来,您将永远不会得到发布者排队的最新消息。
我希望 Mosquitto 代理尝试将所有待处理的消息一个接一个地发送给客户端,而不是在发布新消息时发送一条旧消息。
也许有人可以帮助我理解为什么会发生这种情况或如何克服这种情况?
【问题讨论】:
-
您使用的是什么版本的 mosquitto。另外,您是如何处理客户端中的消息的,您是否在消息传递回调中执行任何长时间运行的任务?