mosquitto教程(三)开启服务器及客户端发布和订阅

一、mosquitto服务器参数说明

在这里插入图片描述

-c 指定配置文件路径
-d 后台运行
-h 显示帮助
-p 指定端口号,不推荐跟-c配置文件指定端口号一起使用
-v 监控日志

二、客户端参数说明

2.1mosquitto_sub(订阅)参数说明

-c 禁止’clean session’选项,即如果客户端断开连接,这个订阅仍然保留来接收随后到的QoS为12的消息,当改客户端重新连接之后,它将接收到已排在队列中的消息。建议使用此选项时,客户端id选项设为–id

-d 开启debug选项

-h 说明所连接到的域名,默认是localhost

-i 客户端的ID号,如果没有指定,默认是mosquitto_pub_加上客户端的进程id,不能和–id_prefix同时使用。

-I 指定客户端ID的前缀,与客户端的进程ID连接组成客户端的ID,不能喝–id同时使用。

-k  给代理发送PING命令(目的在于告知代理该客户端连接保持且在正常工作)的间隔时间,默认是60s

-p 说明客户端连接到的端口,默认是1883

-P 指定密码用于代理认证,使用此选项时必须有有效的用户名。

-q 指定消息的服务质量,可以为0,1,2,默认是0.

–quiet 如果指定该选项,则不会有任何错误被打印,当然,这排除了无效的用户输入所引起的错误消息。

-t 指定订阅的消息主题,允许同时订阅到多个主题

-u 指定用户名用于代理认证。

-v, 冗长地打印收到的消息。若指定该选项,打印消息时前面会打印主题名——“主题 消息内容”,否则,只打印消息内容

–will-payload 如果指定该选项,则万一客户端意外和代理服务器断开,则该消息将被保留在服务端并发送出去,该选项必须同时用–will-topic指定主题。

–will-qos 指定Will的服务质量,默认是0.必须和选项 –will-topic同时使用.

–will-retain 如果指定该选项,则万一客户端意外断开,已被发送的消息将被当做retained消息。必须和选项 –will-topic同时使用.

–will-topic 指定客户端意外断开时,Will消息发送到的主题。

2.2mosquitto_pub(发布)参数说明

-d 开启debug选项

-f 把一个文件的内容做为消息的内容发送。经测试,支持txt文件,不支持doc等其他形式文件。

-h 说明所连接到的域名,默认是localhost

-i 客户端的ID号,如果没有指定,默认是mosquitto_pub_加上客户端的进程id,不能和–id_prefix同时使用。

-I 指定客户端ID的前缀,与客户端的进程ID连接组成客户端的ID,不能和–id同时使用。

-l 从总段读取输入发送消息,一行为一条消息,空白行不会被发送。

-m 从命令行发送一条消息,-m后面跟发送的消息内容。

-n 发送一条空消息。

-p 连接的端口号,默认是1883.

-P 指定密码用于代理认证,使用此选项时必须有有效的用户名。

-q 指定消息的服务质量,可以为0,1,2,默认是0.

–quiet:如果指定该选项,则不会有任何错误被打印,当然,这排除了无效的用户输入所引起的错误消息。

-r 如果指定该选项,该条消息将被保留做为最后一条收到的消息。下一个订阅消息者将能至少收到该条消息。

-s 从标准输入接收传输的消息内容,所有输入做为一条消息发送。

-t 指定消息所发布到哪个主题。

-u 指定用户名用于代理认证。

–will-payload 如果指定该选项,则万一客户端意外和代理服务器断开,则该消息将被保留在服务端并发送出去,该选项必须同时用–will-topic指定主题。

–will-qos 指定Will的服务质量,默认是0.必须和选项 –will-topic同时使用.

–will-retain 如果指定该选项,则万一客户端意外断开,已被发送的消息将被当做retained消息。必须和选项 –will-topic同时使用.

–will-topic 指定客户端意外断开时,Will消息发送到的主题

三、mosquitto服务器和客户端使用(允许匿名)

3.1开启服务器

默认配置方式开启

mosquitto

指定配置文件开启

mosquitto -c /etc/mosquitto/mosquitto.conf

3.2订阅一个主题

mosquitto_sub -t "test"

3.3发布一个主题和消息

mosquitto_pub -t "test" -m  "123456"

3.4运行结果

在这里插入图片描述

三、mosquitto服务器和客户端使用(不允许匿名)

3.1新增用户和密码

cd /etc/mosquitto/
sudo cp pwfile.example pwfile
sudo mosquitto_passwd -c pwfile t1
mosquitto_passwd -b pwfile t2 123456
sudo mosquitto_passwd -b pwfile t2 123456

mosquitto_passwd 参数说明

Usage: mosquitto_passwd -c passwordfile username
       mosquitto_passwd -b passwordfile username password
       mosquitto_passwd -U passwordfile
 -b : run in batch mode to allow passing passwords on the command line.
 -c : create a new password file. This will overwrite existing files.

3.2开启服务器

3.2.1改配置文件

cp mosquitto.conf.example mosquitto.conf
vi mosquitto.conf

将#allow_anonymous ture改成allow_anonymous false ,如下图
在这里插入图片描述

3.2.2运行mosquitto

指定配置文件开启

mosquitto -c /etc/mosquitto/mosquitto.conf

3.2订阅一个主题

mosquitto_sub -u t1 -P 123456 -t "test"

3.3发布一个主题和消息

mosquitto_pub -u t2 -P 123456 -t "test" -m "456789"

3.4运行结果

在这里插入图片描述

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值