MQTT (Message Queuing Telemetry Transport)遥测消息传输协议
最近在AIOT和筑联开发平台,其传输方式都是MQTT!它这么重要,一定要做个笔记,以免看过的又忘记了!
MQTT是在TCP之上的协议,和HTTP一样,都属于应用层协议!
下面的都是边看边记录来源于:MTQQ协议中文手册
术语:
网络连接、应用消息、客户端、服务端、订阅、主题名、主题过滤器、会话、控制报文
数据表示:
二进制位、整数数值、UTF-8编码字符串、编辑约定
MTT控制报文格式:
前8位固定格式 7-4位 表示报文类型 3-0指定控制报文类型的标志位
可查看具体的定义!其实有好些个都是Reserved(保留)。文中提及,如果收到百法的标志,接收者必须关闭网络连接
剩下长度,就是报文内容(可变报头,负载的数据)
剩余长度 :是以1字节增长即 128,1字节:128,2字节:128*128,3字节:128*128*128,最大包括4个字符,即128^4:0XFFFFFF7F
MQTT控制报文过程:
1.CONNET-连接服务端
2.CONNACK-确认连接请求
3.PUBLISH-发布消息
4.PUBACK-发布确认
5.PUBREC-发布收到(Qos 2第一步)
6.PUBREL-发布释放(Qos 2第二步)
7.PUBCOMP-发布完成(Qos2第三步)
8.SUBSCRIBE-订阅主题
9.SUBACK-订阅确认
10.UNSUBSCRIBE-取消订阅
11.UNSUBACK-取消订阅确认
12.PINGREQ-心跳请求
13.PINGRESP-心跳响应
14.DISCONNECT-断开连接
未完待续.