MQTT 控制报文 - CONNECT连接服务器报文,CONNACK,DISCONNECT - 第3章

 

目录

3.1 CONNECT - 连接服务器

3.1.1 CONNECT 固定报头

3.1.2 CONNECT 可变报头

3.1.2.1 协议名

3.1.2.2 协议级别

3.1.2.3 连接标志

3.1.2.4 保持连接时间

3.1.3 有效载荷

3.2 CONNACK - 连接响应

3.2.1 固定报头

3.2.2 可变报头

3.3 DISCONNECT - 断开连接

3.3.1 固定报头

实际案例、相关链接


3.1 CONNECT - 连接服务器

  • 客户端到服务端的TCP/UDP网络连接建立后,客户端发送给服务端的第一条报文必须是 CONNECT 报文
  • 在一个网络连接上,客户端只能发送一次 CONNECT 报文
  • 服务端必须将客户端发送的第二个 CONNECT 报文当作协议违规。

 

CONNECT报文 - 帧格式:

 

CONNECT报文 的帧格式
  功能 字节空间
固定报头 MQTT报文类型+保留位 1 Byte
剩余长度 1 ~ 4 Byte
可变报头 协议名 6 Byte
协议级别 1 Byte
连接标志 1 Byte
保持连接时间 2 Byte
有效载荷 ... ... ... ...

 

 

3.1.1 CONNECT 固定报头

 

CONNECT 固定报头 的数据格式
Byte - Bit 7 6 5 4 3 2 1 0
Byte 1 MQTT 报文的类型(1 - CONNECT) Reserved 保留位
1,0x1 - CONNECT 0x0
Byte 2~5 剩余长度
  • CONNECT 的第1个字节为 0x10,剩余长度字段需要根据可变报头和有效载荷的长度来确定。
  • 剩余长度字段的计算过程见 2.2.3。

 

 

3.1.2 CONNECT 可变报头

CONNECT的可变报头包含四个字段:

  • 协议名(Protocol Name)
  • 协议级别(Protocol Level)
  • 连接标志(Connect Flags)
  • 保持连接时间(Keep Alive)

 

CONNECT 可变报头 的数据格式
byte 1 ~ 6 协议名
byte 7 协议级别
byte 8 连接标志
byte 9 ~ 10 连接保持时间

 

 

3.1.2.1 协议名

可变报头中,协议名字段的6个字节是固定的:

 

CONNECT 固定报头 - 协议名 的数据格式
  功能 说明
byte 1 协议名长度 长度 MSB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值