使用通配符订阅MQTT主题
我有一个MQTT客户机想要订阅以下主题使用通配符订阅MQTT主题,mqtt,hivemq,Mqtt,Hivemq,我有一个MQTT客户机想要订阅以下主题 节点1/数据/更新 节点1/数据/增量 节点1/数据 当然,我有多个节点,因此我必须使用通配符,如下所述: 我尝试了以下主题名称 +/资料/+ +/资料/# +/数据(我是暴君) 使用上述表达式1和2,我没有收到主题节点1/数据的消息 有没有一种方法可以通过单个订阅实现这一点?假设我读的是正确的,那么选项2应该会起作用 例如,如果客户订阅“sport/tennis/player1/#”,则 将接收使用以下主题名称发布的消息: “运动/网球/运动员1” “
- “运动/网球/运动员1”
- “运动/网球/运动员1/排名”
- “运动/网球/球员1/得分/温布尔登”
我已经用
mosquitto_pub
和mosquitto_sub
发布/订阅消息,并用选项2测试了这一点,它根据规范工作。感谢您的快速回答。我很自信。2也应该起作用。不幸的是,我刚刚重新测试了它,它不起作用。我订阅了主题“+/data/#”。然后我在“node1/data/update”上发布并收到消息(yay)。然后我发布了“node1/data”,但没有收到消息(否定)。似乎与HiveMQ相关:(还有其他建议吗?那么这是HiveMQ中的一个缺陷。您应该提出一个缺陷。我已使用公共HiveMQ代理(Broker.HiveMQ.com)对其进行了测试)和HiveMQ Community Edition。您使用的是哪个版本的HiveMQ?您还可以提供有关您正在使用的客户端的信息吗?我实际上不知道正在使用哪个代理()。这可能与代理有关吗?也许这是他们的自定义实现。我的客户端是MQTT3 HiveMQ Rx客户端。我将此答案标记为已接受,因为这实际上应该有效。谢谢(:这完全与代理有关,而不是与客户有关。hivemq
标记暗示您使用的是代理,而不是客户(问题的措辞模棱两可)。如注释所示,HiveMQ代理似乎没有问题。您应该通知mdash他们的代理不符合规范。