我有问题。 使用mosquitto,当我在同一主题上发布多个数据时,发布后,我就在该主题上进行了分类,但仅显示了该主题的最后一个值。
MacBook-Pro-de-Mathieu:~ mathieu$ mosquitto_pub -h localhost -t test -m "A" -r
MacBook-Pro-de-Mathieu:~ mathieu$ mosquitto_pub -h localhost -t test -m "B" -r
MacBook-Pro-de-Mathieu:~ mathieu$ mosquitto_sub -h localhost -t test
B
当我转为主题“ test”时,仅显示B
正常吗?我想要一个无限制发布的队列,并在有人关注此主题时显示我的所有数据。
答案 0 :(得分:1)
这是根据MQTT规范进行的设计和预期工作。所有MQTT经纪人都将以这种方式行事。
MQTT是发布/订阅协议,不是消息排队系统。
您正在将-r
标志与mosquitto_pub一起使用,以在发布消息时在邮件上设置保留标志。
代理仅保留任何给定主题的最新保留消息,并在订阅时将该消息传递给该主题的新订阅者。因此,当您发布第二条消息时,它将覆盖第一条消息。