mosquitto_sub、mosquitto_pub命令参数解析

橙三吉。 提交于 2020-08-12 18:16:27

1) 开启一个终端用于订阅消息:

​​​​​​​mosquitto_sub -v -t "test/topic" 

2) 开启另一个终端用于发布消息:

mosquitto_pub -t "test/topic" -m 'hello world'

3) 发布消息后,可在订阅端看到已订阅成功的信息

test/topic hello world

mosquitto_sub解析:

mosquitto_sub是订阅端终端运行的命令,-v是打印详细信息,-t是需要订阅的主题,后面紧跟的参数就是主题,这里主题叫test/topic。

mosquitto_pub是发布端终端运行的命令,-t是需要发布的主题,后面紧跟的参数就是主题,-m就是开始发布内容,后面紧跟的参数就是需要发布的内容,这里值为 hello world。

具体的MQTT命令实现方法,有兴趣的同学可以自己去查看源码,源码在Mosquitto -1.4.5 / client目录下面,其目录文件如下:

client_shared.c  CMakeLists.txt  mosquitto_sub  sub_client.c

client_shared.h  Makefile        pub_client.c   sub_client.o

client_shared.o  mosquitto_pub   pub_client.o

命令的主要实现是在client_shared.cpub_client.csub_client.c这三个文件中实现,其中pub_client.c是实现发布功能的,sub_client.c是实现订阅功能的,client_shared.c则是前边两个c文件共同需要的部分。

mosquitto_pub命令参数说明

-d   打印debug信息

-f    将指定文件的内容作为发送消息的内容

-h   指定要连接的域名  默认为localhost

-i    指定要给哪个clientId的用户发送消息

-I    指定给哪个clientId前缀的用户发送消息

-m  消息内容

-n   发送一个空(null)消息

-p   连接端口号

-q   指定QoS的值(0,1,2

-t    指定topic

-u   指定broker访问用户

-P   指定broker访问密码

-V   指定MQTT协议版本

--will-payload   指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用

--will-qos   WillQoS值。该参数需要与--will-topic一起使用

--will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使用

--will-topic  用户发送Will消息的topic

 mosquitto_sub命令参数说明

-c  设定‘clean session’为无效状态,这样一直保持订阅状态,即便是已经失去连接,如果再次连接仍旧能够接收的断开期间发送的消息。

-d  打印debug信息

-h  指定要连接的域名  默认为localhost

-i   指定clientId

-I   指定clientId前缀

-k keepalive 每隔一段时间,发PING消息通知broker,仍处于连接状态。 默认为60秒。

-q   指定希望接收到QoS为什么的消息  默认QoS0

-R   不显示陈旧的消息

-t    订阅topic

-v   打印消息

--will-payload  指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用

--will-qos   WillQoS值。该参数需要与--will-topic一起使用

--will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使用

--will-topic  用户发送Will消息的topic

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!