文档章节

关于MQTT协议的说明

xiaocui911
 xiaocui911
发布于 2017/04/01 12:05
字数 644
阅读 24
收藏 0
点赞 0
评论 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
深圳
程序员
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 这玩意是由于要找个做手机推送的方案,后来发现,JPush这家伙做的实在不错,然后就不折腾了,最近,忽然心血来潮,把MQTT 协议 看了一遍,网上的很多中文的资料都是坑爹的,全部都是说...

打杂程序猿
2013/04/25
0
3
关于MQTT传输协议的疑问

对于协议的本质,应该就是定义了一种规范,发送方根据这个规范发送指定格式的数据,接收方接到数据后可以正确的解析出来,提取所需的信息。是这么理解吧。 现在有一个MQTT协议,是物联网的标...

一刀
2014/10/10
4.5K
4
centos php7下安装event扩展

centos php7下安装event扩展 Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流2017-12-291 阅读 eventlinux 有效安排I/O,时间和信号的扩展 使用可用于特定平台的最佳I/O通知机制的事件,...

Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流
2017/12/29
0
0
基于 MQTT 协议的推送服务

一、简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1...

什么都不懂的小石
04/27
0
0
MQTT 主题与主题过滤

MQTT 主题与主题过滤 Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流2017-12-261 阅读 过滤主题 1、topic 定阅与发布必须要有主题,只有当定阅了某个主题后,才能收到相应主题的paylo...

Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流
2017/12/26
0
0
用单片机实现TCP链接的快捷车道-CH9121芯片,解决MQTT的联网问题。

物联网全栈教程-从云端到设备(三) 一 关注零妖的微信公众号,获取第一手物联网的技术干货: LINGYAOIOT 没有规矩不成方圆。从目前的市场环境来看,MQTT通讯协议已经成为了物联网行业的标配...

零妖
06/05
0
0
管中窥豹:一线工程师看MQTT

MQTT是什么? MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,该协议构建于TCP/IP协议上,由IBM在1...

tangxiaoyin
2017/07/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
今天
2
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
今天
1
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
2
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
1
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
今天
1
0
Java IO类库之BufferedInputStream

一、BufferedInputStream介绍 /** * A <code>BufferedInputStream</code> adds * functionality to another input stream-namely, * the ability to buffer the input and to * sup......

老韭菜
今天
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
1
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部