因学习MQTT,故需使用到mosquitto进行测试开发,故此记录此篇
- mosquitto 基础
- What?
- Why?
- 安装过程
- 启动方式
- 使用流程
- 订阅主题
- 发布内容
- 使用成功
- 或遇问题
mosquitto 基础
What?
一个开源broker,及代理工具
Why?
完全兼容了MQTT 3.1和MQTT 3.1.1,包含服务端和客户端
安装过程
步骤1:mosquitto下载地址
步骤2:进入对应的安装目录 - 这里的标红区域为OpenSSL(开放源代码的软件库包),部分开发人员可能会有缺失OpenSSL,如果遇到这样的问题就需要根据 Readme 帮助文档操作一番了(我是2020年下载mosquitto工具,都是安装的默认配置,未操作OpenSSL,最后也可正常使用 !)
启动方式
方式1:通过mosquitto.exe的Gui双击启动
方式2:cmd命令进入mosquitto目录,输入 mosquitto -d -v ( mosquitto -v )启动代理端
方式3:通过管理 - 服务 - Mosquitto Broker 开启服务
步骤1:我的电脑 - 右键 - 管理
步骤2:服务 - 开启Mosquitto Broker服务
使用流程
务必注意:
1.只有mosquitto安装成功,且服务已启动才能正常进行使用此工具
2.订阅主题和发布消息均需在一个独立的cmd窗口下
3.关于任何命令操作,都需要在mosquitto目录下执行,不然无法识别mosquitto命令
订阅主题
订阅行为作为消费者的角色,可以拥有多个,但是对应着在这里测试的话,则需开启多个cmd订阅窗口
mosquitto_sub -d -v -t test订阅主题为test的消息
【-t】指定主题,此处为test
【-v】打印更多的调试信息
注:这里订阅失败是因为服务未开启,并非主题少个t … 主要不想截图了… 所以直接在这里进行声明咯~
发布内容
再次重申,这里需要开启一个新的cmd命令窗口进行信息发布
mosquitto_pub -d -t test -m hello_baby
【-t】指定主题
【-m】指定消息内容
使用成功
一切正常的话,可以看到订阅端窗口收到了主题为test的hello_baby消息
或遇问题
1.windows_mosquitto.exe闪退
方式1:计算机–>管理–>服务–>找到Mosquitto Broker,若为启动状态,点击“停止”,然后右键属性设置为手动启动
方式2:命令行查询:netstat -ano | findstr 1883
杀掉进程的命令:taskkill /pid 31196 /f
其中 /f 表示强制关闭该进程,31196 是查询结果显示的pid号(pid号一般为最末尾的一串数字)
借鉴文章:
- mosquitto 在 Windows 上的安装
- 证书在 mosquitto 中的配置
- MQTT服务器Mosquitto安装及使用
- windows_mosquitto.exe闪退