工作需要了解MQTT协议,与使用MQTT进行消息订阅发布,因此先了解下基本概念与本地测试环境搭建:
1、基本概念:
可参考:简书:MQTT 协议基本介绍
2、环境搭建:
可参考:常见MQTT服务器搭建与试用
3、实测问题处理记录:
1、下载服务器:http://emqtt.com/static/brokers/emqttd-windows7-v2.3.9.zip
2、解压,设置环境变量:(D:\APP_TOOL\emqttd\bin)
3、Windows安装IIS服务:(Internet Information Services 、Internet Information Services 可承载的web核心 ,注意子选项也全部选上,安装好后重启),如果不启用IIS服务则访问本地WEB服务会失败,如下:
4、cmd命令行下执行emqttd.cmd start启动服务(启动后shell会被释放,如果没有释放则是没有启动成功,可以用netstat查看)
C:\Users\KangRuojin>emqttd.cmd start
D:\APP_TOOL\emqttd>netstat -ano | findstr "18083"
TCP 0.0.0.0:18083 0.0.0.0:0 LISTENING 5552
D:\APP_TOOL\emqttd>netstat -ano | findstr "1883"
TCP 0.0.0.0:1883 0.0.0.0:0 LISTENING 5552
TCP 127.0.0.1:11883 0.0.0.0:0 LISTENING 5552
D:\APP_TOOL\emqttd>
5、使用浏览器查看server的运行情况:
http://127.0.0.1:18083 (user:admin passsword:public)
6、安装MQTTBox客户端进行多客户端连接实验:
https://s3-us-west-2.amazonaws.com/workswithweb/mqttbox/latest/windows/MQTTBox-win.exe
7、打开客户端创建一个客户端连接(Create MQTT Client)
8、根据需求设置,指定连接相关信息,包括连接名称(可以随意输入)、协议(选择mqtt/tcp)和主机地址(安装在本地,MQTT缺省端口为1883,所以输入127.0.0.1:1883),然后单击“Save”保存,其他信息暂时默认。
9、创建连接后在web服务器刷新后可以看到有一个客户端已经连上
10、客户端就可以订阅与发布消息了,可以启动多个客户端互相订阅发布消息,也可以启动一个客户端订阅发布消息(CLIENT自己订阅,MQTT服务器再在CLIENT自己发布已经订阅的消息时转发给CLIENT)。
注意:如果服务器断开,客户端需要重连,重连后消息需要重新订阅。