Mosquitto在WINDOWS安装linux
1、概念梳理
一、Mosquitto是一款实现了消息推送协议MQTT 3.1的开源消息代理软件,提供轻量级的、支持可订阅/可发布的消息推送模式,是设备与设备之间的短消息通讯变得简单,普遍应用于低功耗传感器、手机(app消息推送是场景之一)、嵌入式电脑、微型控制器等移动设备。
二、那什么是MQTT,他的英文全称Message Queuing Telemetry Transport,翻译过来就是“消息队列遥测传输”,是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工做在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络情况糟糕的状况下而设计的发布/订阅型消息协议。
目前支持MQTT的服务器中间件有EMQTT、Mosquitto、Apollo。本章讲的就是Mosquitto。
三、MQTT的协议内容有不少,其中一个必定要知道,就是“消息发布服务质量”,只有三个值分别是:
QoS 0:“至多一次”,消息发布彻底依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于以下状况,环境传感器数据,丢失一次读记录无所谓,由于不久后还会有第二次发送。
QoS 1:“至少一次”,确保消息到达,但消息重复可能会发生。
QoS 2:“只有一次”,确保消息到达一次。这一级别可用于以下状况,在计费系统中,消息重复或丢失会致使不正确的结果。git
下载路径:https://mosquitto.org/downloadgithub
若是想体验比较新版本能够上github,可是比较麻烦的是须要本身去编译成windows文件,编译须要用到cmake软件。windows
启动服务服务器
配置文件在安装目录下的mosquitto.conf,默认状况下不作任何修改,就能够启动mosquitto。网络
配置说明中出现的地址例如:“/var/run/mosquitto”,“/var/log/messages”,都是相对路径,相对于系统盘根目录。这个地方很重要,他可不是相对于安装目录的根目录。例如“/var/run/mosquitto”表示的是“c:\var\run\mosquitto”,我有一段时间一直没搞定,就是这个目录缘由,不少人没有反馈这个问题,由于都是在linux用因此没啥问题。app
安装目录的完整路径中,不能出现空格,不然在命令行就没法经过。Mosquitto默认安装路径是在“C:\Program Files\mosquitto”,这里面的“Program Files”就存在空格,致使不少问题,这个也要特别注意。因此后来我改成安装在“C:\MosquittoTest”。性能
启动mosquitto 进行测试。测试
启动broker
windows下使用命令提示符,进入mosquitto安装目录ui
输入命令 mosquitto -c mosquitto.conf
无提示信息,表示mqtt的broker端已经启动
保持broker启动,打开两个命令窗口测试发布与订阅
订阅主题
mosquitto_sub -v -t topicTest01
-v:打印更多调试信息
-t:指定主题,此处为topicTest01
发布内容
mosquitto_pub -t topicTest01 -m TestMessage
-t:指定主题
-m:指定消息内容
测试结果:
发布消息后,订阅这收到了主题为topicTest01的TestMessage消息。