mosquitto使用与常用配置
为了方便演示,我这里就用windows环境下安装的mosquitto进行操作,操作方式和linux系统下是一样的。
一、windows安装mosquitto
-
下载mosquitto
mosquitto官网:https://mosquitto.org/download/
下载完成后,双击安装即可
-
安装完成后的文件目录
-
添加环境变量
-
配置Mosquitto账号密码
在cmd中输入
# 用户名
mosquitto_passwd -c pwfile 用户名
# 密码
mosquitto_passwd -c pwfile bees
mosquitto使用
在Windows PowerShell中执行一下命令
# 启动服务器
.\mosquitto.exe -c mosquitto.conf -v
# 订阅者
.\mosquitto_sub.exe -t "temp"
# 发布者
.\mosquitto_pub.exe -t "temp" -m "aaaaaaaaa"
-
mosquitto服务器使用
-
mosquitto订阅者使用
-
mosquitto发布者使用
-
常用选项
-
-d, --debug;
开启debug选项 -
-f, --file
把一个文件的内容做为消息的内容发送。经测试,支持txt文件,不支持doc等其他形式文件。 -
-h, --host
连接的域名,默认是localhost -
-i, --id
客户端的ID号,如果没有指定,默认是mosquitto_pub_加上客户端的进程id,不能和--id_prefix同时使用。 -
-I, --id-prefix
指定客户端ID的前缀,与客户端的进程ID连接组成客户端的ID,不能喝--id同时使用。 -
-l, --stdin-line
从总段读取输入发送消息,一行为一条消息,空白行不会被发送。 -
-m, --message
从命令行发送一条消息,-m后面跟发送的消息内容。 -
-n, --null-message
发送一条空消息。 -
-p, --port
连接的端口号,默认是1883. -
-P, --pw
指定密码用于代理认证,使用此选项时必须有有效的用户名。 -
-q, --qos
指定消息的服务质量,可以为0,1,2,默认是0. -
--quiet
如果指定该选项,则不会有任何错误被打印,当然,这排除了无效的用户输入所引起的错误消息。 -
-r, --retain
如果指定该选项,该条消息将被保留做为最后一条收到的消息。下一个订阅消息者将能至少收到该条消息。 -
-s, --stdin-file
从标准输入接收传输的消息内容,所有输入做为一条消息发送。 -
-t, --topic
指定消息所发布到哪个主题。 -
-u, --username
指定用户名用于代理认证。 -
--will-payload
如果指定该选项,则万一客户端意外和代理服务器断开,则该消息将被保留在服务端并发送出去,该选项必须同时用--will-topic指定主题。 -
--will-qos
指定Will的服务质量,默认是0.必须和选项 --will-topic同时使用. -
--will-retain
如果指定该选项,则万一客户端意外断开,已被发送的消息将被当做retained消息。必须和选项 --will-topic同时使用. -
--will-topic
指定客户端意外断开时,Will消息发送到的主题。
三、mosquitto常用配置
在mosquitto.conf文件中更改默认配置
# 允许匿名用户
#allow_anonymous true
# 绑定ip和端口
#listener 1883 192.168.2.100
#listener 1883 0.0.0.0
# 允许的最大连接数,-1表示没有限制
#max_connections -1
注意:‘bind_address’和‘port’已经过期,需要使用listener
常见问题
-
默认端口被占用
解决办法
1)查找被占用的端口// 查找使用的端口 netstat -ano // 查找指定的端口 netstat -ano |findstr 1883
如下图所示:
2)停用端口
// 停用端口 taskkill -PID 4916 -F // 查看占用此端口的进程,在任务管理器中强制结束 tasklist|findstr 4916
如下图所示:
参考文献
mosquitto 用法与简介:http://blog.chinaunix.net/uid-29616823-id-4852120.html
MQTT服务器(Broker) - mosquitto配置文件详解:https://www.cnblogs.com/shuiche/p/12630591.html
Mosquitto 使用说明:https://www.cnblogs.com/yueli/p/7478543.html
本文来自博客园,作者:浇筑菜鸟,转载请注明原文链接:https://www.cnblogs.com/jzcn/p/16111612.html
如本博客的内容侵犯了你的权益,请与以下地址联系,本人获知后,马上删除。同时本人深表歉意,并致以崇高的谢意! cn_jiaozhu@qq.com