(四)、MQTT3.1.1-CONNECT控制包

1、CONNECT控制包结构

表1 CONNECT控制包数据内容

CONNECT控制包

结构

固定包头

控制包类型

CONNECT连接类型

bit[7-4] 0x01<<4

特殊标识

bit[3-0] 0x00

剩余长度

最大4个字节

可变包头

(10 byte)

协议名称

Length MSB(0)

byte1

Length LSB(4)

byte2

Protocol Name

byte[3-4] ‘MQTT’

协议等级

Protocol Level

byte7 0x04->3.1.1

连接标识

byte8

User Name Flag

bit7

Password Flag

bit6

Will Retain

bit5

Will QoS

bit[4-3]

Will Flag

bit2

Clean Session

bit1

Reserved

bit0

Keep Alive

Keep Alive MSB

byte9

Keep Alive LSB

byte10

载荷

取决于可变包头的连接标识

(lenght MSB,

Lenght LSB,

Data)

ClientId

Will Topic

If Will Flag=1

Will Message

If Will Flag=1

User Name

If User Name Flag=1

Password

If Password Flag=1

2、调试数据分析

使用网络调试助手和MQTTX客户段进行调试,分析具体的CONNECT控制包数据内容。

MQTTX连接网络调试助手,收到的第一个数据包就是CONNECT控制包。

MQTTX设置内容1

MQTTX设置内容2

网络调试助手接收数据

收到数据为:10 2D 00 04 4D 51 54 54 04 C4 00 3C 00 0E 6D 71 74 74 78 5F 31 62 30 39 38 61 34 34 00 02 39 39 00 00 00 04 64 64 63 63 00 05 31 32 33 34 35

将收到的数据放入到表格中,具体看看每个数据的含义,如下表中的红色字体。

表1 CONNECT控制包调试数据解析

网络调试助手数据分析

数据

说明、解析

控制包类型

CONNECT连接类型

bit[7-4] 0x01<<4

10

连接类数据包

特殊标识

bit[3-0] 0x00

剩余长度

最大4个字节

2D

剩余长度45byte

协议名称

Length MSB(0)

byte1

00

协议名称长度4byte

Length LSB(4)

byte2

04

Protocol Name

byte[3-6] ‘MQTT’

4D 51 54 54

MQTT

协议等级

Protocol Level

byte7 0x04->3.1.1

04

协议版本3.1.1

连接标识

byte8

User Name Flag

bit7

C4

1->对应可变包头有用户名

Password Flag

bit6

1->对应可变包头有密码

Will Retain

bit5

0

Will QoS

bit[4-3]

00

Will Flag

bit2

1->对应可变包头有订阅主题

Clean Session

bit1

0

Reserved

bit0

0

Keep Alive

Keep Alive MSB

byte9

00

保活60s

Keep Alive LSB

byte10

3C

取决于可变包头的连接标识

(lenght MSB,

Lenght LSB,

Data)

ClientId

00 0E

客户端ID长度14byte

6D 71 74 74 78 5F 31 62 30 39 38 61 34 34  

mqttx_1b098a44

Will Topic

If Will Flag=1

00 02

订阅主题长度2byte

39 39

订阅主题为:99

Will Message

If Will Flag=1

00 00

User Name

If User Name Flag=1

00 04

用户名长度4byte

64 64 63 63

用户名为:ddcc

Password

If Password Flag=1

00 05

密码长度5byte

31 32 33 34 35

密码为:12345

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值