作者:雪蝴蝶的诺言forever | 来源:互联网 | 2023-09-04 11:30
MQTT协议-MQTT协议简介MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议),是一个客户端服务端架构的发布订阅模式的“轻量级”消
MQTT协议-MQTT协议简介
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一个客户端服务端架构的发布/订阅模式的“轻量级”消息传输协议。MQTT控制报文由三部分组成,依次为:固定报头(Fixed header)、可变报头(Variable header)、有效载荷(Payload)。
1、MQTT协议的特点
客户端Client 使用MQTT的程序或设备,客户端总是通过网络连接到服务端。它可以
(1)发布应用消息给其它相关的客户端。
(2)订阅以请求接受相关的应用消息,
(3)取消订阅以移除接受应用消息的请求。
(4)从服务端断开连接。
服务端Server 一个程序或设备,作为发送消息的客户端和请求订阅的客户端之间的中介。服务端
(1)接受来自客户端的网络连接。
(2)接受客户端发送的应用消息。
(3)处理客户端的订阅和取消订阅请求。
(4)转发应用消息给符合条件的已订阅客户端。
2、MQTT协议的格式
(1)固定报头,每个MQTT控制报文都包含,用来描述数据报文类型以及指定控制报文类型的标志位。
Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
byte 1 |
MQTT控制报文类型 |
指定控制报文类型的标志位 |
byte 2 |
数据包剩余长度 |
控制报文的类型:
名字 |
值 |
报文流动方向 |
描述 |
Reserved |
0 |
禁止 |
保留 |
CONNECT |
1 |
客户端到服务端 |
客户端请求连接服务端 |
CONNACK |
2 |
服务端到客户端 |
连接报文确认 |
PUBLISH |
3 |
两个方向都允许 |
发布消息 |
SUBSCRIBE |
8 |
客户端到服务端 |
客户端订阅请求 |