MQTT学习笔记(5)报文分析之SUBSCRIBE

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

这里写图片描述

这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41572450/article/details/82533856
今日推荐