MQTT协议是一个发布/订阅协议。工作在TCP/IP协议族上。
很多的APP使用的推送协议就是这个,基本原理就是用户订阅(subscribe)某个主题(topic),然后当有人发布(publish)这个主题后,服务器就会将这个主题推送给订阅了这个主题的所有用户。
下面是mqtt整个通信流程中控制报文的类型(后面协议格式会讲)
从此处引用 https://www.cnblogs.com/xiaohanlin/p/8683503.html
| 名字 | 值 | 流向 | 描述 |
| CONNECT | 1 | C->S | 客户端请求与服务端建立连接 |
| CONNACK | 2 | S->C | 服务端确认连接建立 |
| PUBLISH | 3 | CóS | 发布消息 |
| PUBACK | 4 | CóS | 收到发布消息确认 |
| PUBREC | 5 | CóS | 发布消息收到 |
| PUBREL | 6 | CóS | 发布消息释放 |
| PUBCOMP | 7 | CóS | 发布消息完成 |
| SUBSCRIBE | 8 | C->S | 订阅请求 |
| SUBACK | 9 | S->C | 订阅确认 |
| UNSUBSCRIBE | 10 | C->S | 取消订阅 |
| UNSUBACK | 11 | S->C | 取消订阅确认 |
| PING | 12 | C->S | 客户端发送PING(连接保活)命令 |
| PINGRSP | 13 | S->C | PING命令回复 |
| DISCONNECT | 14 | C->S | 断开连接 |
这些类型也基本上描绘了mqtt通信完整流程。
通信过程中的报文包括: 固定报头(fixed header), 可变报头(variable header), 有效载荷(Payload)
具体如下 引用自 https://www.cnblogs.com/hayasi/p/7743356.html

固定报头描述

待续
13万+

被折叠的 条评论
为什么被折叠?



