目录
MQTT控制报文的类型 MQTT Control Packet type
剩余长度 Remaining Length(包括可变报头和负载的数据的长度)
前言
上一章我们用W5100S-EVB-PICO通过SNTP获取网络时间,那么本章我们介绍一下MQTT协议的内容以及使用开发板与MQTTX软件来实现mqtt通信。
如果您在阅读本章之后仍有不清楚的地方,可以私信联系我们或者评论区留言,我们会及时回复您的问题!
MQTT介绍
什么是mqtt?
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT主要控制报文
固定报头 Fixed header
每个MQTT控制报文都包含一个固定报头。
| Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| byte 1 |
MQTT控制报文的类型 |
用于指定控制报文类型的标志位 |
||||||
| byte 2... |
剩余长度 |
|||||||
MQTT控制报文的类型 MQTT Control Packet type
位置:第1个字节,二进制位7-4
| 名字 |
值 |
报文流动方向 |
描述 |
| Reserved |
0 |
禁止 |
保留 |
| CONNECT |
1 |
客户端到服务端 |
客户端请求连接服务端 |
| CONNACK |
2 |
服务端到客户端 |
连接报文确认 |
| PUBLISH |
3 |
两个方向都允许 |
发布消息 |
| PUBACK |
4 |
两个方向都允许 |
QoS 1消息发布收到确认 |
| PUBREC |
5 |
两个方向都允许 |
发布收到(保证交付第一步) |
| PUBREL |
6 |
两个方向都允许 |
发布释放(保证交付第二步) |
| PUBCOMP |
7 |
两个方向都允许 |
QoS 2消息发布完成(保证交互第三步) |
| SUBSCRIBE |
8 |
客户端到服务端 |
客户端订阅请求 |
| SUBACK |
9 |
服务端到客户端 |
订阅请求报文确认 |
| UNSUBSCRIBE |

最低0.47元/天 解锁文章
1667

被折叠的 条评论
为什么被折叠?



