一、MQTT(消息队列遥测传输协议Message Queuing Telemetry Transport)
1.MQTT是应用层的协议,是一种基于发布/订阅模式的“轻量级”通讯协议,建构于TCP/IP协议上,可以以极少的代码和有限的带宽为连接远程设备提供实时可靠的消息服务;
2.组成:
MQTT是一个二进制流协议;
含固定头和可变头和Payload负载;
固定头两个字节:第一个字节的高四位写MQTT控制报文的类型(0-15个动作)、低四位用于指定控制报文类型的标志位、第二个字节是剩余长度(可变报头的长度+有效载荷的长度);
部分控制报文包含一个最少二字节的可变报头:报文标识符MSB+报文标识符LSB;
部分控制报文含有有效载荷,有效载荷就是应用信息;
3.心跳包机制:
在固定头中标有本次传输目的,心跳包也是一种;
用于确保传输路径是否通畅;
如果规定时间内没有数据接收自动发送;
4.QoS:服务质量
为0时,只发不用回复收到确认;
为1时,会回复收到确认;
为2时,服务器会回复收到确认给发送方,再发送数据给接收方时也会报给发送方,在结束时也会报给发送方;