如何解析mosquitto_sub、mosquitto_pub命令参数

发布时间:2021-11-11 17:39:34 作者:柒染
来源:亿速云 阅读:1051

这篇文章将为大家详细讲解有关如何解析mosquitto_sub、mosquitto_pub命令参数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

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.c、pub_client.c、sub_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   Will的QoS值。该参数需要与--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为什么的消息  默认QoS为0

-R   不显示陈旧的消息

-t    订阅topic

-v   打印消息

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

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

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

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

关于如何解析mosquitto_sub、mosquitto_pub命令参数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. Laravel命令解析
  2. ffmpeg命令解析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:如何进行USART字符串命令的接收与响应

下一篇:Django中的unittest应用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》