文档章节

关于MQTT协议的说明

xiaocui911
 xiaocui911
发布于 2017/04/01 12:05
字数 644
阅读 42
收藏 0

我们知道,QQ物联网是基于一种发布和订阅的一种通信协议,在我看来这或者就是MQTT协议,虽然我并没有去了解他。 首先,发布所在的平台一般是服务器端,而订阅的平台一般是设备端。他们主要是通过网络而发送消息的一种通信协议。server 端和client 端建立起来的连接统称会话(session),各种平台可以通过主题(TOPIC)来建立不同的通信。这些基本的先解释下,下面有关的术语就不再叙述。 1,数据格式 数据包的前两个字节表示这个包的大小,后面紧接着是UTF-8编码的内容。输入图片说明 2,MQTT控制包格式 他主要分为三个部分:固定的头部、可变的部分、以及负载。 2.1固定的头部 他主要包括控制包的类型以及相应的标记,剩下的就是保留部分。这里控制包类型主要是如下图所示: 输入图片说明 控制包的类型只是占了一个字节的高四位,而低四位主要是标记,这个标记主要是为了以后扩展用。 后面的字节就是保留字节了,主要是可变部分以及负载。 2.2可变部分 这一部分可变主要是MQTT协议对这一部分没有也是能正常通信的。变量的内容取决于数据包类型。可变报头的分组标识符字段在几种分组类型中是常见的。他们主要是:PUBLISH (where QoS > 0), PUBACK, PUBREC, PUBREL, PUBCOMP, SUBSCRIBE, SUBACK, UNSUBSCRIBE, UNSUBACK. SUBSCRIBE,UNSUBSCRIBE和PUBLISH(在QoS> 0的情况下)控制包必须包含非零16位数据包标识符。每当客户端发送这些类型之一的新数据包时,它必须为其分配一个当前未使用的数据包标识符。如果客户端重新发送特定的控制分组,则它必须在该分组的后续重新发送中使用相同的分组标识符。在客户端处理相应的确认分组后,分组标识符变得可用于重用。如下图所示:输入图片说明 2.3负载部分 如下图所示,列出了有效载荷包: 输入图片说明

今天就先写一部分,剩下的部分比较重要,需要再多揣摩几次再发吧。

© 著作权归作者所有

共有 人打赏支持
xiaocui911
粉丝 6
博文 69
码字总数 14765
作品 0
深圳
程序员
私信 提问
MQTT协议的初浅认识之连接建立

MQTT百科 MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布...

亚林瓜子
09/20
0
0
centos-MQTT服务器搭建-mosquitto1.4.14

centos-MQTT服务器搭建-mosquitto1.4.14 Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流2017-12-251 阅读 linux Mosquitto mosquitto是一款实现了 MQTT v3.1 协议的开源的消息代理服务...

Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流
2017/12/25
0
0
搭建IM服务 so easy

现在很多网站、APP都通过IM服务来实现消息推送及数据即时同步功能,即时通讯组件逐渐成为产品的标配。目前国内有很多成熟稳定的第三方即时通讯服务厂家,比如:融云。使用这些专业的服务可以...

一等兵
2016/03/22
1K
9
MQTT协议-MQTT协议简介及协议原理

MQTT协议-MQTT协议简介及协议原理 Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流2017-12-261 阅读 原理 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种...

Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流
2017/12/26
0
0
MQTT协议的初浅认识之推送订阅

背景 了解MQTT怎么建立连接之后,现在重点来了解MQTT怎么推送,订阅两个方面。 概念 先见一张图: 这张图是依旧借鉴HiveMQ的图,来讲述MQTT协议的推送和订阅的过程。推送和订阅,我们很容易理...

亚林瓜子
09/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

配置防盗链、访问控制Directory、访问控制FilesMatch

11月19日任务 11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch 通过限制referer来实现防盗链的功能 配置文件增加如下内容 <Directory /data/wwwroot/www.123.com> SetE...

zgxlinux
11分钟前
2
0
docker搭建redis环境

docker 搭建redis单机,主从,哨兵,集群环境: https://github.com/grace-233/docker-config-file/tree/master/redis...

grace_233
19分钟前
2
0
机器学习:从入门到晋级

摘要: 什么是机器学习,为什么学习机器学习,如何学习机器学习,这篇文章都告诉给你。 目前,人工智能(AI)非常热门,许多人都想一窥究竟。如果你对人工智能有所了解,但对机器学习(Machi...

阿里云官方博客
24分钟前
3
0
FFT数据为空

项目地址:https://github.com/zhangjianli/FlutterMusicPlugin

whoisliang
30分钟前
1
0
python中.whl文件下载,pandas

安装pandas一直报错,最后找到了这个网址,成功安装,分享一下给大家,下载的时候需要注意下载对应的python版本和电脑系统的whl文件 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 这上面有很...

上官夏洛特
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部