MQTT4、5所有消息解析与对比

1、CONNECT – 连接请求

变长字节整数
剩余长度字段使用一个变长字节编码方案,对小于 128 的值它使用单字节编码。更大的值按下面的方式处理。低 7 位有效位用于编码数据,最高有效位用于指示是否有更多的字节。因此每个字节可以编码 128 个数值和一个延续位(continuation bit)。剩余长度字段最大 4 个字节。
在这里插入图片描述

1.1、MQTT4

在这里插入图片描述

10 1C 00 04 4D 51 54 54 04 C2 00 64 00 04 44 30 30 31 00 04 54 45 53 54 00 04 54 45 53 54

1.2、MQTT5

如果会话过期间隔(Session Expiry Interval)值未指定,则使用0。如果设置为0或者未指定,会话将在网络连接(Network Connection)关闭时结束。
如果会话过期间隔(Session Expiry Interval)为0xFFFFFFFF (UINT_MAX),则会话永不过期。
在这里插入图片描述

10 22 00 04 4D 51 54 54 05 C2 00 64 05 11 00 00 00 00 00 04 44 30 30 31 00 04 54 45 53 54 00 04 54 45 53 54

2、CONNACK – 确认连接请求

CONNACK报文由服务端所发送,作为对来自客户端的CONNECT报文的响应。

2.1、MQTT4

在这里插入图片描述

20 02 00 00

2.2、MQTT5

在这里插入图片描述

属性里会有部分属性,并不全部都有

20 0A 00 00 07 22 FF FF 28 01 2A 00

3、PUBLISH – 发布消息

QoS决定了服务器收到消息的回复的次数

QoS 0          None						At most once delivery
QoS 1          PUBACK Packet			At least once delivery
QoS 2          PUBREC Packet			Exactly once delivery

3.1、MQTT4

在这里插入图片描述

30 17 00 0D 2F 70 75 62 6C 69 63 2F 54 45 53 54 2F 31 32 33 34 35 36 37 38 

3.2、MQTT5

在这里插入图片描述

30 18 00 0D 2F 70 75 62 6C 69 63 2F 54 45 53 54 2F 00 31 32 33 34 35 36 37 38 

4、PUBACK– 发布确认

PUBACK报文是对QoS 1等级的PUBLISH报文的响应。

4.1、MQTT4

在这里插入图片描述

40 02 00 00

4.2、MQTT5

服务端或客户端发送PUBACK报文时必须设置其中一种PUBACK原因码。当原因码为0x00(成功)且没有属性(Properties)时,原因码和属性长度可以被省略。在这种情况下,PUBACK剩余长度为2。
在这里插入图片描述

40 02 00 00

5、PUBREC – 发布已接收

PUBREC报文是对QoS等级2的PUBLISH报文的响应。它是QoS 2等级协议交换的第二个报文。

5.1、MQTT4

在这里插入图片描述

50 02 00 00

5.2、MQTT5

在这里插入图片描述

PUBREC可变报头第3字节是原因码。如果剩余长度为2,则表示使用原因码0x00(成功)。
服务端或客户端发送PUBREC报文时必须设置其中一种原因码。当原因码为0x00(成功)且没有属性时,原因码和属性长度可以被省略。在这种情况下,PUBREC剩余长度为2。
PUBREC可变报头的属性长度被编码为变长字节整数。如果剩余长度小于4,则表示没有属性长度字段。

6、PUBREL – 发布释放

PUBREL包用来响应PUBREC包。是QoS 2协议交换的第三部分。

6.1、MQTT4

6.2、MQTT5

7、3.7 PUBCOMP – 发布完成(QoS 2,第三步)

7.1、MQTT4

7.2、MQTT5

8、SUBSCRIBE - 订阅请求

8.1、MQTT4

8.2、MQTT5

9、SUBACK – 订阅确认

9.1、MQTT4

9.2、MQTT5

10、UNSUBSCRIBE –取消订阅请求

10.1、MQTT4

10.2、MQTT5

11、UNSUBACK – 取消订阅确认

11.1、MQTT4

11.2、MQTT5

12、PINGREQ – PING 请求

12.1、MQTT4

12.2、MQTT5

13、PINGRESP – 心跳响应

13.1、MQTT4

13.2、MQTT5

14、DISCONNECT – 断开通知

14.1、MQTT4

14.2、MQTT5

15、AUTH – 认证交换

15.1、MQTT4

15.2、MQTT5

更新分割线//
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值