一、什么是MQTT?
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅模式的轻量级通讯协议。可以以极少的代码和有限的带宽,为远程设备提供实时可靠的消息服务。MQTT在物联网、小型设备、移动应用等方面有广泛的应用。
二、MQTT协议位于什么层?
TCP/IP模型可以分为应用层、传输层、网络层、链路层。TCP和UDP位于传输层,而MQTT运行于TCP之上,属于应用层协议。因此,只要有TCP/IP协议栈的地方,都可以使用MQTT。
三、MQTT消息格式?
消息格式:固定头 | 可变头 | 负载
固定头:固定头是mqtt协议必须包含的内容,至少有两个字节。第一个字节包含报文类型(如connect、publish、puback、subscribe、unconnect等, 高四位)和Qos级别(低四位),从第二个字节开始就是表示剩余长度,剩余长度是可变头和负载的长度之和,最多4个字节。 剩余长度:低位在前,高位在后。
可变头:部分报文类型有,部分报文类型无。
负载:消息载体,即消息内容。和可变头一样,部分报文类型有,部分报文类型五。相当于http协议中的body。