如何在Paho中获取最后五条消息?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Paho中获取最后五条消息?相关的知识,希望对你有一定的参考价值。
我使用Paho创建javascript MQTT Web应用程序。客户端只接收最近发送给它的最后一条消息,但每次打开/刷新网页时我都需要最后五条消息。有没有针对这个目的的解决方案?
答案
MQTT不能以这种方式工作。
这里需要涉及许多因素。
- 保留的消息。听起来您收到的消息在标题集中保留了位。这意味着代理将挂在最后一条消息上,并在其发布的任何主题上设置该位,然后当客户端订阅该主题时,它将始终在任何新消息到达之前将最后一条消息传递给客户端。这只是一条消息,没有办法拥有更多。
- 消息队列。如果客户端订阅的主题大于QOS 0,则断开连接。只要clean_session标志设置为false并且客户端重新订阅同一主题,它就会重新连接,然后代理将在客户端脱机时传递发送到主题的任何消息。这将是所有错过的消息,而不仅仅是最后5个消息。
正如@Weedoze在评论中提到的,一种可能的解决方案是让另一个客户端订阅相同的主题,并且每次发布消息时使用此更新包含最后5条消息的单个消息,然后需要将其发布到单独的主题,保留位设置为true。然后,客户端可以订阅“历史”主题和“实时”主题。
以上是关于如何在Paho中获取最后五条消息?的主要内容,如果未能解决你的问题,请参考以下文章