mosquitto命令行参数

Posted Shemesz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mosquitto命令行参数相关的知识,希望对你有一定的参考价值。

  • 启动代理服务
mosquitto -v

(1)mosquitto_pub发布端

参数命令参数说明
-d开启debug选项
-f把一个文件的内容做为消息的内容发送。经测试,支持txt文件,不支持doc等其他形式文件
-h指定要连接的域名 默认为localhost
-i给指定的clientId的用户发送消息
-I给指定的clientId前缀的用户发送消息
-m发送消息,格式为 -m “message”
-n发送一个空(null)消息
-p连接的端口号,默认是1883
-q指定QoS的值(0,1,2)
-t指定topic
-u指定broker访问用户
-P指定broker访问密码
-V指定MQTT协议版本
–will-topic用户发送Will消息的topic
–will-payload指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与–will-topic一起使用
–will-qosWill的QoS值。该参数需要与–will-topic一起使用
–will-retain指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与–will-topic一起使用
  • 参数示例
mosquitto_pub -h localhost -p 1883 -t "topic" -m "message"
 mosquitto_pub -h localhost -p 1883 -t "led" -m '{ "id":"RPI3B_01", "led_red":"on","led_green":"on","led_blue":"on" }'

(2)mosquitto_sub订阅端

参数命令参数说明
-c设定‘clean session’为无效状态,这样一直保持订阅状态,即便是已经失去连接,如果再次连接仍旧能够接收的断开期间发送的消息。
-d打印debug信息
-h指定要连接的域名 默认为localhost
-i指定clientId
-I指定clientId前缀
-kkeepalive 每隔一段时间,发PING消息通知broker,仍处于连接状态。 默认为60秒。
-q指定希望接收到QoS为什么的消息 默认QoS为0
-R不显示陈旧的消息
-t订阅topic
-v打印消息
–will-topic用户发送Will消息的topic
–will-payload指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与–will-topic一起使用
–will-qosWill的QoS值。该参数需要与–will-topic一起使用
–will-retain指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与–will-topic一起使用

(3)报文种类

名称含义
1.连接请求(CONNECT)当一个从客户端到服务器的TCP/IP套接字连接被建立时,必须用一个连接流来创建一个协议级别的会话。
2.连接请求确认(CONNECTACK)连接请求确认报文(CONNECTACK)是服务器发给客户端,用以确认客户端的连接请求
3.发布报文(PUBLISH)客户端发布报文到服务器端,用来提供给有着不同需求的订阅者们。每个发布的报文都有一个主题,这是一个分层的命名空间,他定义了报文来源分类,方便订阅者订阅他们需要的主题。订阅者们可以注册自己的需要的报文类别。
4.发布确认报文(PUBACK)发布确认报文(PUBACK)是对服务质量级别为1的发布报文的应答。他可以是服务器对发布报文的客户端的报文确认,也可以是报文订阅者对发布报文的服务器的应答。
5.发布确认报文(PUBREC)PUBREC报文是对服务质量级别为2的发布报文的应答。这是服务质量级别为2的协议流的第二个报文。PUBREC是由服务器端对发布报文的客户端的应答,或者是报文订阅者对发布报文的服务器的应答。
6.发布确认报文(PUBREL)PUBREL是报文发布者对来自服务器的PUBREC报文的确认,或者是服务器对来自报文订阅者的PUBREC报文的确认。它是服务质量级别为2的协议流的第三个报文。
7.确定发布完成(PUBCOMP)PUBCOMP报文是服务器对报文发布者的PUBREL报文的应答,或者是报文订阅者对服务器的PUBREL报文的应答。它是服务质量级别为2的协议流的第四个也是最后一个报文。
8.订阅命名的主题(SUBSCRIBE)订阅报文(SUBSCRIBE)允许一个客户端在服务器上注册一个或多个感兴趣的主题名字。发布给这些主题的报文作为发布报文从服务器端交付给客户端。订阅报文也描述了订阅者想要收到的发布报文的服务质量等级。
9.订阅报文确认(SUBACK)当服务器收到客户端发来的订阅报文时,将发送订阅报文的确认报文给客户端。一个这样的确认报文包含一列被授予的服务质量等级。被授予的服务质量等级次序和对应的订阅报文中的主题名称的次序相符。
10.退订命名的主题(UNSUBSCRIBE)退订主题的报文是从客户端发往服务器端,用以退订命名的主题。
11.退订确认(UNSUBACK)退订确认报文是从服务器发往客户端,用以确认客户端发来的退订请求报文。
12.Ping请求(PINGREQ)Ping请求报文是从连接的客户端发往服务器端,用来询问服务器端是否还存在。
13.Ping应答(PINGRESP)Ping应答报文是从服务器端发往Ping请求的客户端,对客户端的Ping请求进行确认。
14.断开通知(DISCONNECT)断开通知报文是从客户端发往服务器端用来指明将要关闭它的TCP/IP连接,他允许彻底地断开,而非只是下线。如果客户端已经和干净会话标志集联系,那么所有先前关于客户端维护的信息将被丢弃。一个服务器在收到断开报文之后,不能依赖客户端关闭TCP/IP连接。

以上是关于mosquitto命令行参数的主要内容,如果未能解决你的问题,请参考以下文章

基于mosquitto库实现MQTT订阅与发布

clion上添加程序的预定添加程序的命令行

MQTT qos参数无效

java基础3-重载+命令行传参+递归+数组+排序

mosquitto 常用命令

sql [SQL查询片段]用于在命令行或通过R和其他工具使用SQL的快速代码段#tags:sql,R,text processing,命令li