MQTT协议学习笔记(六)
SUBSCRIBE报文详解
阿里云Topic列表介绍
POST :广播
SET :订阅 (阿里云默认全部定义了)

SUBSCRIBE固定报头
SUBSCRIBE固定报头 = BYTE1(报文类型) + (剩余长度)
固定报头BYTE1 = 0X82 (低四位为 0010)
剩余长度 与 CONNECT的剩余长度一致

SUBSCRIBE可变报头
报文标识符
报文标识符两个字节长度,相当于消息ID,将你订阅的消息取一个 别称ID;方便服务器回复是否订阅成功,初步可设置为0X00 0X0A;

有效载荷
SUBSCRIBE报文的有效载荷包含了一个主题过滤器列表,它们表示客户端想要订阅的主题。
前两个字节为主题字符串的长度

比如我们要订阅这个主题 /sys/a17uvxb3Eyb/lot_T/thing/service/property/set
主题 = /sys/a17uvxb3Eyb/lot_T/thing/service/property/set
HEX = 2F 73 79 73 2F 61 31 37 75 76 78 62 33 45 79 62 2F 6C 6F 74 5F 54 2F 74 68 69 6E 67 2F 73 65 72 76 69 63 65 2F 70 72 6F 70 65 72 74 79 2F 73 65 74
字节数 = 49 = 0X31
Byte1 = 0X00,Byte2 = 0X31,主题(hex),再后面是消息质量 0X00-0X02;
综上SUBSCRIBE报文
82 36 00 0A 00 31 2F 73 79 73 2F 61 31 37 75 76 78 62 33 45 79 62 2F 6C 6F 74 5F 54 2F 74 68 69 6E 67 2F 73 65 72 76 69 63 65 2F 70 72 6F 70 65 72 74 79 2F 73 65 74 00
可同时订阅多个主题
本文深入解析MQTT协议中SUBSCRIBE报文的结构与功能,涵盖固定报头、可变报头及有效载荷细节,通过实例讲解如何订阅阿里云Topic,适合物联网与消息队列技术的学习者。
786

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



