内容简介:当前物联网背景之下,国内出现了许多物联网开发平台,比如百度天工智能物联网平台,阿里Link物联网平台,腾讯QQ物联智能硬件开放平台等等。这些平台应用到MQTT协议,那么MQTT协议是什么呢?
当前物联网背景之下,国内出现了许多物联网开发平台,比如百度天工智能物联网平台,阿里Link物联网平台,腾讯QQ物联智能硬件开放平台等等。
这些平台应用到MQTT协议,那么MQTT协议是什么呢?
MQTT,英语全称:Message Queuing Telemetry Transport Protocol,即消息队列遥感传输协议的缩写。
MQTT是一种基于轻量级代理发布/订阅模式的消息传输协议,运行在TCP协议栈之上。
该协议提供有序、可靠、双向连接的网络连接保证,特别适合于带宽低、网络延迟高、网络通信不稳定等受限环境的消息分发,属于物联网消息传输当中一个标准传输协议。
在工作方式上该协议采用代理发布/订阅模式,实现了发布和订阅解耦,因此在该协议中存在三种角色:
- 代理服务器;
- 发布者客户端;
- 订阅者客户端。
发布者和订阅者互不干扰,也就是说发布者和订阅者互不知道对方的存在,它们只知道代理服务器。
代理服务器负责接收来自发布者的消息进行存储同时将消息再发送给订阅者,成为了发送者和订阅者之间的中介,同一个客户端可以即是发布者也可以是订阅者。
在消息传递上是通过“主题”方式实现:
- “主题”附加在消息上的一个标签;
- 发布者客户端将“主题”和“消息”发送至代理服务器;
- 代理服务器将该消息转发至每一个订阅了该“主题”的订阅者客户端。
为确保消息能够完整送达,MQTT协议提供了三种服务质量等级。
- 等级为0,指发布者消息不要求应答回馈,也没有重发机制,这类消息可能会发生消息丢失或重复,取决于TCP协议提供的尽最大努力交互的数据包服务。
- 等级为1,指最少一次能确保消息送达,但消息重复可能会发生,发布者如果在指定时间内没有收到应答控制报文,发布者会重新发送消息。
- 等级为2,指仅一次,属于最高级别的服务质量,消息丢失和重复都是不可接受,确保仅一次发送或接收消息。
另外,MQTT协议利用保活机制在客户端设置LWT信息发送到代理服务器。
当客户端异常断开例如:电量耗尽、系统崩溃或者网络断开时,代理服务器检测到客户端离线后,就会发送保存在特定主题上的 LWT 信息,让其它订阅该主题的客户端知道该节点已经意外离线。
以上所述就是小编给大家介绍的《干货!最受欢迎的物联网开发平台协议,程序员必看!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- asp.net快速开发平台,给开发平台提提速
- antdv 前端开发的快速开发平台 xiaonuo
- .net快速开发平台—web快速开发框架
- .net快速开发平台,learun敏捷开发框架
- 开源 AI 模型开发平台「天枢平台」已在 Gitee 开源
- 再谈低代码开发平台(200727)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Clean Architecture
Robert C. Martin / Prentice Hall / 2017-9-20 / USD 34.99
Practical Software Architecture Solutions from the Legendary Robert C. Martin (“Uncle Bob”) By applying universal rules of software architecture, you can dramatically improve developer producti......一起来看看 《Clean Architecture》 这本书的介绍吧!