我想连接一个客户端,它将监视代理的所有主题以在我不知道主题名称是什么时响应事件。
订阅
#
可以订阅所有内容,但以 $
开头的主题除外(无论如何这些通常都是控制主题)。
当然,最好先知道您要订阅什么,并注意某些代理配置可能不允许明确订阅
#
。
您可以使用
mosquitto_sub
(它是mosquitto-clients
包的一部分)并订阅通配符主题#
:
mosquitto_sub -v -h broker_ip -p 1883 -t '#'
mosquitto.org 非常活跃(在本文发布时)。这是 MQTT 订阅者 Linux 设备的一个很好的冒烟测试:
mosquitto_sub -h test.mosquitto.org -t "#" -v
"#"
是主题的通配符并返回所有消息(主题):服务器有很多流量,所以它返回了一个“firehose”的消息。
如果您的 MQTT 设备向测试 MQTT 代理发布
irisys/V4D-19230005/
主题,那么您可以过滤消息:
mosquitto_sub -h test.mosquitto.org -t "irisys/V4D-19230005/#" -v
选项:
-h
主机名(默认 MQTT 端口 = 1883)-t
在主题之前使用通配符“#”但要注意,在某些时候你将不得不以某种方式理解通过总线传递的数据!