mqtt协议快速指导
来源:互联网 发布:飞鸟淘宝客 编辑:程序博客网 时间:2024/05/18 02:34
下面提及到的图x-x都是指《MQTT协议3.1.1》内容所指。
第一章:
主要讲述数据表示
1. 二进制位:并不需要解析
2. 整数数值:使用网络子序(大字端)
3. UTF-8编码:控制报文的文本字段,通读图1-1即可
1. 提及一点:两字节的长度给出了后面的数据的字节数,不包含长度字段自身占用的两个字节。
2. 后面有一个叫“编辑约定”,讲的是文本标志中的每一个一致性声明都分配一个调用格式。这个理念还真有点作用。学习一下。
第二章:
- 报文格式,作为整个MQTT协议的应用信息的格式组成,读者清晰了解即可。
- 就目前的我们首先需要修改的libemqtt客户端代码来说,可以如下理解:
- 固定报头
- 剩余长度的计算方式(编码与解码,文档中提供了算法),为可变报头和有效载荷的总长度。其中,使用UTF-8编码的就要加上长度前缀。
- 可变报头:协议名、协议等级、连接标志、保存连接
- 有效载荷,可以暂且理解为“应用信息”,也就是我们真正需要传输的“有效数据”
- 固定报头
该章节主要理解:
1. 怎么去组成我们MQTT协议的报文?
2. 撇开服务器不讲,订阅与发布,就是真正意义上的接收者与发送者。
第三章:
本章内容就不再此详述,建议读者首先将3.1节内容看通透,其余的用到查阅。
第四章:
- 会话状态存储:针对服务器和客户端的会话生存时间,简单地说:若保留,则双方下次重新会话可以直接找到原始的报文标识;否则,双方需要在重新会话前重新发送原始的报文标识。
- 服务质量等级和协议流程:主要讲述3个等级,至于服务流程实质为报文的应答关系(具体看publish命令)
- 分发协议指的是不同的服务质量等级需要的行走的协议流程,这可以理解一类的流程图,看mqtt协议书的时候可以顺势画出流程图。
- 消息会有重发的可能性,想上面第一点所说的会话状态存储导致是否需要重发,而对于接收消息不但需要正确的协议流程,同时也需要顺序收发。
- 主题名和主题过滤器:
- 主题通配符:这里理解为主题订阅与发布的层级控制,学过数据结构的朋友最好用树的概念去理解。因为在mosquitto代理服务器里面就是应用树来存储订阅报文。
- 主题过滤器:也就使用通配符来过滤不合适的主题,使得发送的应用信息正确传递到对方。
0 0
- mqtt协议快速指导
- mqtt协议
- mqtt协议
- MQTT协议
- MQTT协议
- MQTT协议
- Mqtt协议
- mqtt协议
- MQTT协议
- MQTT协议
- MQTT协议
- MQTT协议
- MQTT协议
- mqtt协议
- MQTT协议
- mqtt协议
- MQTT协议
- MQTT协议-MQTT协议解析(MQTT数据包结构)
- JSP之include指令与include动作的区别
- ERWIN中的一对多标识关系和一对多非标识关系
- 数据存储和界面展现
- java面试题(9月17日)
- Android 插件化原理解析——Hook机制之AMS&PMS
- mqtt协议快速指导
- 不用任何比较判断找出两个数中较大的数。
- Linux--文本查看命令
- 联想搜索
- C#之WinForm基础 点击button,显示另外一个窗体
- 关于读书
- 线程池最大线程数判断
- tp的curd
- 第三周【项目四-顺序表应用】