基本认识
MQTT message queuing telemetry transport 消息队列遥测传输
-
基于 发布/订阅 范式的消息协议
-
基于 TCP/IP
-
初衷:为硬件性能低下的远程设备和网络环境较差的情况设计的
通信过程
通信过程示意图
QoS
quality of service
QoS值 | Bit 2 | Bit 1 | 描述 |
---|---|---|---|
0 | 0 | 0 | 最多分发一次 |
1 | 0 | 1 | 至少分发一次 |
2 | 1 | 0 | 只分发一次 |
- | 1 | 1 | 保留位 |
MQTT环境配置
服务器以及客户端
本地测试
启动服务器
客户端订阅以及客户端发布
远程测试
如果是远程测试,比如这里用的是虚拟机ubuntu 服务器在windows上,需要进行一些服务器设置,
- 将监听器设置为所有ip可连接
- 将服务器设置为可匿名连接(后续测试用户名密码)
启动服务器时 要指定config
windows 服务器启动:
ubuntu 客户端订阅 mosquitto_sub -h **** -t remote_test -v
windows 客户端发布 .\mosquitto_pub.exe -t "remote_test" -m "123"
配置用户名密码(非匿名模式)…
// 未完待续
参考链接:
https://zhuanlan.zhihu.com/p/421109780