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 的工作原理。
- MQTT 客户端与 MQTT 代理建立连接。
- 连接后,客户端可以发布消息、订阅特定消息或同时执行这两项操作。
- MQTT 代理收到一条消息后,会将其转发给对此感兴趣的订阅者。
让我们进行详细的分解,以进一步了解详情。
1、MQTT 主题
“主题”一词是指 MQTT 代理用于为 MQTT 客户端筛选消息的关键字。主题是分层组织的,类似于文件或文件夹目录。
2、MQTT 发布
MQTT 客户端以字节格式发布包含主题和数据的消息。客户端确定数据格式,例如文本数据、二进制数据、XML 或 JSON 文件。例如,智能家居系统中的灯可能会针对主题 客厅/灯发布消息。
3、MQTT 订阅
MQTT 客户端向 MQTT 代理发送 订阅消息,以接收有关感兴趣主题的消息。此消息包含唯一标识符和订阅列表。例如,您手机上的智能家居应用程序想要显示您家中有多少灯亮着。它将订阅主题灯 并增加所有打开消息的计数器。
以上就是关于MQTT 的组成部分以及MQTT的工作原理的全部内容了,希望对你有所帮助。