Skip to content

发布/订阅

MQTT 基于发布订阅模式进行消息通信,客户端可以作为发布者发布消息或或者作为订阅者订阅主题,当消息发布时,EMQX 负责接收消息并将其转发给订阅了相关主题的客户端。

本章节将介绍常用的 MQTT 客户端工具,并指导大家完成从建立客户端连接、订阅主题到发布消息、接收并查看消息整个流程。

消息流程

以下是 EMQX 中一条消息从发布到发送到订阅者所需的流程及注意事项:

  1. 发布者、订阅者连接到 EMQX,需要提供正确的连接地址与认证信息,并确保两者连接到同一个 EMQX;
  2. 订阅者订阅主题,默认情况下没有匹配订阅者的消息将被立即丢弃;
  3. 发布者发布消息,请确保消息主题能够被订阅者匹配,且订阅者已经订阅对应主题;
  4. 订阅者收到消息。

对应的客户端工具操作流程:

MQTTX 是 EMQ 开源的一款跨平台 MQTT 5.0 客户端工具,它支持 macOS, Linux, Windows,并且支持自定义脚本模拟测试、MQTT 消息格式转换、日志记录等多个功能。

MQTTX 提供了一键式的连接方式和简洁的图形界面,能够测试 MQTT/TCP、MQTT/TLS、MQTT/WebSocket 连接。

mqttx over view

您也可以使用浏览器打开 MQTTX Web,无需下载与安装即可通过 MQTT over WebSocket 完成 MQTT 开发和调试操作。

以下是使用 MQTTX 完成连接、发布订阅并查看消息全流程:

  1. 下载并安装 MQTTX:前往 MQTTX 官网,通过应用商店或直接下载对应操作系统安装包进行安装。详细操作请参考 MQTTX - 下载与安装
  2. 配置 MQTT 连接以及消息发布订阅测试:在 MQTTX 中填入 EMQX 连接信息并建立连接,详细操作请参考 MQTTX - 快速建立连接服务器地址 选择 mqtt:// 协议并填入对应监听器的 IP 地址,默认 IP 地址为 localhost端口为 1883,根据情况填入用户名密码,没有启用访问控制的情况下留空即可。
  3. 消息发布订阅以及查看消息:连接到 EMQX 后,使用 MQTTX 收发消息,详细操作请参考 MQTTX - 消息的发布订阅