Netty实现高性能IOT服务器(Groza)之手撕MQTT协议篇上 (2)

 

控制报文类型(MQTT Control Packet type) 名字 报文流动方向 描述
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   10   客户端到服务端   客户端取消订阅请求  
UNSUBACK   11   服务端到客户端   取消订阅报文确认  
PINGREQ   12   客户端到服务端   心跳请求  
PINGRESP   13   服务端到客户端   心跳响应  
DISCONNECT   14   客户端到服务端   客户端断开连接  
Reserved   15   禁止   保留  

 

标志(Flags) 控制报文 固定报头标志 Bit 3 Bit 2 Bit 1 Bit 0
CONNECT   Reserved   0   0   0   0  
CONNACK   Reserved   0   0   0   0  
PUBLISH   Used in MQTT 3.1.1   DUP1   QoS2   QoS2   RETAIN3  
PUBACK   Reserved   0   0   0   0  
PUBREC   Reserved   0   0   0   0  
PUBREL   Reserved   0   0   1   0  
PUBCOMP   Reserved   0   0   0   0  
SUBSCRIBE   Reserved   0   0   1   0  
SUBACK   Reserved   0   0   0   0  
UNSUBSCRIBE   Reserved   0   0   1   0  
UNSUBACK   Reserved   0   0   0   0  
PINGREQ   Reserved   0   0   0   0  
PINGRESP   Reserved   0   0   0   0  
DISCONNECT   Reserved   0   0   0   0  
Bit3 Bit2 Bit1 Bit0
DUP   Qos   Qos   RETAIN  

DUP =控制报文的重复分发标志

QoS = PUBLISH报文的服务质量等级

RETAIN = PUBLISH报文的保留标志

备注:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsffgz.html