2

我有一个想要订阅以下主题的 MQTT 客户端

  1. 节点1/数据/更新
  2. 节点1/数据/增量
  3. 节点1/数据

当然我有多个节点,所以我必须使用通配符,如下所述:https ://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices/

我尝试了以下主题名称

  1. +/数据/+
  2. +/数据/#
  3. +/data#(我很绝望)

使用上面的表达式 1 和 2,我没有收到主题 node1/data 的消息。

有没有办法通过一次订阅来做到这一点?

4

1 回答 1

3

假设我正在阅读规范,选项 2 应该可以工作。

例如,如果客户端订阅“sport/tennis/player1/#”,它将接收使用这些主题名称发布的消息:

  • “运动/网球/player1”</li>
  • “运动/网球/player1/排名”</li>
  • “运动/网球/player1/得分/温布尔登”</li>

选项 3 绝对无效。

您是否尝试过使用 mosquitto 进行测试以查看这是否特定于 hivemq?

编辑:

我已经通过mosquito使用mosquitto_pubmosquitto_sub发布/订阅消息对此进行了测试,并且使用选项 2 它可以根据规范工作。

于 2019-07-30T14:46:09.073 回答