• 首页
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

  • Jira替代方案
目录

MQTT 有哪些组成部分

MQTT 的组成部分是:1、MQTT 客户端;2、MQTT 代理;3、MQTT 连接。MQTT 客户端是从服务器到运行 MQTT 库的微控制器的任何设备,MQTT 代理是协调不同客户端之间消息的后端系统,客户端和代理开始使用 MQTT 连接进行通信。

一、MQTT 的组成部分

MQTT 通过如下定义客户端和代理来实施发布/订阅模型。

1、MQTT 客户端

MQTT 客户端是从服务器到运行 MQTT 库的微控制器的任何设备。如果客户端正在发送消息,它将充当发布者;如果它正在接收消息,它将充当接收者。基本上,任何通过网络使用 MQTT 进行通信的设备都可以称为 MQTT 客户端设备。

2、MQTT 代理

MQTT 代理是协调不同客户端之间消息的后端系统。代理的职责包括接收和筛选消息、识别订阅每条消息的客户端,以及向他们发送消息。它还负责其他任务,例如:

  • 授权 MQTT 客户端以及对其进行身份验证
  • 将消息传递给其他系统以进行进一步分析
  • 处理错过的消息和客户端会话

3、MQTT 连接

客户端和代理开始使用 MQTT 连接进行通信。客户端通过向 MQTT 代理发送 CONNECT 消息来启动连接。代理通过响应 CONNACK 消息来确认已建立连接。MQTT 客户端和代理都需要 TCP/IP 堆栈进行通信。客户端从不相互联系,它们只与代理联系。

二、MQTT 的工作原理

下面概述了 MQTT 的工作原理。 

  1. MQTT 客户端与 MQTT 代理建立连接。
  2. 连接后,客户端可以发布消息、订阅特定消息或同时执行这两项操作。
  3. MQTT 代理收到一条消息后,会将其转发给对此感兴趣的订阅者。

让我们进行详细的分解,以进一步了解详情。

1、MQTT 主题

“主题”一词是指 MQTT 代理用于为 MQTT 客户端筛选消息的关键字。主题是分层组织的,类似于文件或文件夹目录。

2、MQTT 发布

MQTT 客户端以字节格式发布包含主题和数据的消息。客户端确定数据格式,例如文本数据、二进制数据、XML 或 JSON 文件。例如,智能家居系统中的灯可能会针对主题 客厅/灯发布消息。

3、MQTT 订阅

MQTT 客户端向 MQTT 代理发送 订阅消息,以接收有关感兴趣主题的消息。此消息包含唯一标识符和订阅列表。例如,您手机上的智能家居应用程序想要显示您家中有多少灯亮着。它将订阅主题灯 并增加所有打开消息的计数器。 

以上就是关于MQTT 的组成部分以及MQTT的工作原理的全部内容了,希望对你有所帮助。

一站式研发项目管理平台 PingCode

一站式研发项目管理平台 PingCode

支持敏捷\瀑布、知识库、迭代计划&跟踪、需求、缺陷、测试管理,同时满足非研发团队的流程规划、项目管理和在线办公需要。

相关文章

MQTT 协议有哪些优势

百科

什么是 MQTT

百科

移动云计算有哪些使用案例

百科

什么是移动云计算

百科

聊天机器人是什么

百科

VDI 有哪些优势

百科

什么是 VDI

百科

什么是企业软件

百科

 SaaS 有哪些优势

百科

什么是 SaaS

百科