MQTT协议整理
MQTT协议
MQTT控制报文的类型
类型名称 | 类型值 | 报文说明 | 报文标识符字段 |
---|---|---|---|
CONNECT | 1 | 请求连接服务端(发起连接) | 不需要 |
CONNACK | 2 | 连接报文确认(连接回执) | 不需要 |
PUBLISH | 3 | 发布消息 | 需要(if Qos>0) |
PUBACK | 4 | 发布回执 | 需要 |
PUBREC | 5 | QoS2消息回执 | 需要 |
PUBREL | 6 | QoS2消息释放 | 需要 |
PUBCOMP | 7 | QoS2消息完成 | 需要 |
SUBSCRIBE | 8 | 订阅主题 | 需要 |
SUBACK | 9 | 订阅回执 | 需要 |
UNSUBSCRIBE | 10 | 取消订阅 | 需要 |
UNSUBACK | 11 | 取消订阅回执 | 需要 |
PINGREQ | 12 | PING请求 | 不需要 |
PINGRESP | 13 | PING响应 | 不需要 |
DISCONNECT | 14 | 断开连接 | 不需要 |
客户端和服务端彼此独立地分配报文标识符。因此,客户端服务端组合使用相同的报文标识符可以实现并发的消息交换。
CONNECT - 连接服务端
客户端到服务端的网络建立连接后,客户端发送给服务端的第一个报文必须是CONNECT报文。
服务端必须把客户端发送的第二个CONNECT报文当做协议违规处理并断开客户端的连接。