我想连接一个客户端,该客户端将监控代理的所有主题,以便在我不知道主题的名称时对事件做出响应。
答案 0 :(得分:51)
订阅#
可让您订阅除$
之外的所有主题的订阅(这些通常都是控制主题)。
当然,最好先了解您订阅的内容,并注意某些代理配置可能会禁止明确订阅#
。
答案 1 :(得分:38)
您可以使用mosquitto_sub
(这是mosquitto-clients
包的一部分)并订阅通配符主题#
:
mosquitto_sub -v -h broker_ip -p 1883 -t '#'
答案 2 :(得分:1)
mosquitto.org非常活跃(在发布此信息时)。对于MQTT订阅者linux设备,这是一个很好的冒烟测试:
mosquitto_sub -h test.mosquitto.org -t "#" -v
“#”是主题的通配符,它返回所有消息(主题):服务器的流量很大,因此它返回了“ firehose”消息。
如果您的MQTT设备将主题irisys/V4D-19230005/
发布到测试MQTT代理,则可以过滤消息:
mosquitto_sub -h test.mosquitto.org -t "irisys/V4D-19230005/#" -v
选项:
答案 3 :(得分:0)
使用通配符“#”,但要注意,在某些时候您将必须以某种方式理解通过总线的数据!