我是靠谱客的博主 灵巧蚂蚁,最近开发中收集的这篇文章主要介绍基于阿里云的MQTT协议入门六:SUBSCRIBE 订阅请求,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

客户端向服务端发送SUBSCRIBE报文用于创建一个或多个订阅。每个订阅注册客户端关心的一个或多个主题。为了将应用消息转发给与那些订阅匹配的主题,服务端发送PUBLISH报文给客户端。SUBSCRIBE报文也(为每个订阅)指定了最大的QoS等级,服务端根据这个发送应用消息给客户端。
固定报头:
在这里插入图片描述
SUBSCRIBE控制报固定报头的第3,2,1,0位是保留位,必须分别设置为0,0,1,0。服务端必须将其它的任何值都当做是不合法的并关闭网络连接。
剩余长度字段等于可变报头的长度(2字节)加上有效载荷的长度。
可变报头:
报文标识符等于10的可变报头,非规范示例
在这里插入图片描述
有效载荷:
在这里插入图片描述
假设订阅的设备属性为:
/sys/a1gmk6tYAWS/Test001/thing/service/property/set
在这里插入图片描述
那么我们需要发送的内容就是 长度 + 以上内容 + 服务质量等级
16进制为:82 38 00 0A 00 33 2F 73 79 73 2F 61 31 67 6D 6B 36 74 59 41 57 53 2F 54 65 73 74 30 30 31 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
其中
82 ?? 为固定报头
00 0A 为报文标识符为10的可变报头
00 33 2F 73 79 73 2F 61 31 67 6D 6B 36 74 59 41 57 53 2F 54 65 73 74 30 30 31 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 为订阅的主题,转换成string就为/sys/a1gmk6tYAWS/Test001/thing/service/property/set
00 为服务质量等级

发送连接服务器后,再发送订阅请求,如下
在这里插入图片描述
返回: 90 03 00 0A 01
订阅成功

返回值为 00 表示最大QOS 0
返回值为 01 表示成功 最大QOS 1
返回值为 02 表示成功 最大QOS 2
返回值为 80 表示失败

最后

以上就是灵巧蚂蚁为你收集整理的基于阿里云的MQTT协议入门六:SUBSCRIBE 订阅请求的全部内容,希望文章能够帮你解决基于阿里云的MQTT协议入门六:SUBSCRIBE 订阅请求所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部