当前物联网背景之下,国内出现了许多物联网开发平台,比如百度天工智能物联网平台,阿里Link物联网平台,腾讯QQ物联智能硬件开放平台等等。
这些平台应用到MQTT协议,那么MQTT协议是什么呢?
MQTT,英语全称:Message Queuing Telemetry Transport Protocol,即消息队列遥感传输协议的缩写。
MQTT是一种基于轻量级代理发布/订阅模式的消息传输协议,运行在TCP协议栈之上。
该协议提供有序、可靠、双向连接的网络连接保证,特别适合于带宽低、网络延迟高、网络通信不稳定等受限环境的消息分发,属于物联网消息传输当中一个标准传输协议。
在工作方式上该协议采用代理发布/订阅模式,实现了发布和订阅解耦,因此在该协议中存在三种角色:
发布者和订阅者互不干扰,也就是说发布者和订阅者互不知道对方的存在,它们只知道代理服务器。
代理服务器负责接收来自发布者的消息进行存储同时将消息再发送给订阅者,成为了发送者和订阅者之间的中介,同一个客户端可以即是发布者也可以是订阅者。
在消息传递上是通过“主题”方式实现:
为确保消息能够完整送达,MQTT协议提供了三种服务质量等级。
另外,MQTT协议利用保活机制在客户端设置LWT信息发送到代理服务器。
当客户端异常断开例如:电量耗尽、系统崩溃或者网络断开时,代理服务器检测到客户端离线后,就会发送保存在特定主题上的 LWT 信息,让其它订阅该主题的客户端知道该节点已经意外离线。
本文由威海软件公司半岛科技转载整理2019.05.21