版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41572450/article/details/82533856
SUBSCRIBE(订阅主题)
含义:客户端向服务器该报文用于订阅一个或者一类topic或者多类tpoic。
一.固定报头
- 0x82
- 剩余长度
二.可变报头
- 报文标识符
三.payload
- 主体过滤器(Tpoic Filter)
- 服务质量要求(Qos)
- …
注:payload可以是多个Tpoic Filter,但是每个Tpoic Filter后面要有一个Qos
SUBACK(订阅确认)
含义:服务区对客户端发来SUBSCRIBE报文的响应。
一.固定报头
- 0x90
- 剩余长度
二.可变报头
- 报文标识符
三.payload
- 和Tpoic Filter对应的实际Qos清单
UNSUBSCRIBE(取消订阅)
含义:客户端向服务器发送UNSUBSCRIBE,用于取消订阅主题
一.固定报头
- 0xA2
- 剩余长度
二.可变报头
- 报文标识符
三.payload
- 待取消的Topic
UNSUBACK(取消订阅确认)
含义:确认收到UNSUBSCRIBE报文
一.固定报头
- 0xB0
- 剩余长度
二.可变报头
- 报文标识符
三.payload
无
Topic Filter(主题过滤器)
- 大小写敏感
- 可以使用任何UFT-8字符
- 避免使用$符号开头
- 通配符 + #(publish时不能使用通配符)
加号+:单层匹配
井号#:多层匹配,多用于前方一致的匹配
准确匹配一个topic:
匹配所有topic:
下面住抓下包
82 12
00 10
00 0d 74 65 73 74 2f 73 61 6d 70 6c 65 2f 23 00