全网唯一,物联网MQTT协议报文结构分析以及基于C#代码的报文组装实现
一、介绍
MQTT是一种基于TCP/IP协议的应用层协议,它规定了不同应用之间进行数据交换时的传送格式。既然是协议,理论上可以被任何开发语言实现它,以运行在任何平台,这个特性就可以将所有可联网的物品通过此协议的方式进行数据通信,这是其一,之所以被物联网所青睐,还因为它的几个主要的特性:
- 1、使用发布/订阅消息模式,提供一对多的消息发布,解除耦合,各终端之间无关
- 2、对负载内容屏蔽的消息传输,可以对消息订阅者所接受到的内容有所屏蔽
- 3、具体有三种消息发布的服务质量(以后细说)
- 4、小型传输,开销小,固定长度的头部是 2 字节,协议交换最小化,以降低网络流量
- 5、使用Last Will和Testament特性通知有关各方客户端异常中断的机制
二、应用实现
为了更方便的抓包分析,进行了MQTT协议的服务端与客户端的应用实现
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cpCW0U7s-1616122875658)(assets\image-20210311120146654.png)]
三、运行机制
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6NckLvrA-1616122875661)(assets\image-20210311105921317.png)]
- 服务端:通过云端一个服务器程序开启MQTT服务器(