MQTT 客户端工具介绍
概览
在学习和使用 MQTT 的过程中,一个得心应手的客户端工具可以极大的方便使用者进行 MQTT 特性的探索和功能组件的调试。
来自世界各地的开发者们围绕不同操作系统、运行平台,开发出了许多针对 MQTT 协议的客户端测试工具。
这些客户端工具种类繁多,功能侧重点不尽相同,质量层次不齐,因此,对于初学者乃至 MQTT 专家来说,如何选择一个适用的 MQTT 客户端工具是一个难题。
本篇文章将尽可能的搜集整理,对市面上各类 MQTT 客户端工具做一个全面的测评以供读者参考。
MQTT 客户端工具应具备的功能
MQTT 客户端工具常用于建立与 MQTT 服务器 的连接,进行主题订阅、消息收发等操作。
一个 MQTT 客户端工具的功能特点可以从以下方面评估:
- 每个使用环节中工具需要尽可能提供全面的参数配置能力、使用到 MQTT 的全部特性,以便用户应对任何使用场景、使用方式的模拟测试。
- 这部分特性包括支持客户端认证,支持配置证书及多种加密方式连接,支持 MQTT 连接、发布、订阅过程中多项参数的配置,支持 MQTT 5 等;
- 在功能全面的基础上提升用户的交互便捷性,且界面操作流畅;
- 提供其他拓展功能,如同时支持多个客户端连接、MQTT 协议调试;
- 跨平台,不同操作系统下都可以使用;
- 是否支持中/英文等多国语言;
- 是否支持 MQTT Payload 格式转换。
本文将结合每个客户端工具的特点,从以上几点进行测评介绍,参选的客户端工具如下:
- MQTT X
- Mosquito CLI
- MQTT.fx
- MQTT Explorer
- MQTT Box
- mqtt-spy
- MQTT Lens
- MQTT WebSocket Toolkit
MQTT X
客户端简介
MQTT X 是由 杭州映云科技有限公司 开源的一款跨平台 MQTT 5.0 桌面客户端工具,它支持 macOS,Linux,Windows,是目前为止市面上最漂亮的 MQTT 客户端工具。
MQTT X 采用了 Electron 跨平台技术,以消息聊天的交互形式收发消息,允许同时建立多个客户端连接并自由切换互相通信,有较好的交互性,大大提高了 MQTT 开发测试的效率。
MQTT X 功能较全面,用户可以快速测试 MQTT/TCP、MQTT/TLS、MQTT/WebSocket 的连接/发布/订阅功能及其他 MQTT 协议特性。
客户端特性
- 支持 MQTT v3.1.1 以及 MQTT v5.0 协议
- 单/双向 SSL 认证:支持 CA、自签名证书,以及单、双向 SSL 认证
- 支持 Light、Dark、Night 三种主题切换
- 支持 WebSocket 连接至 MQTT 服务器
- 支持 Hex, Base64, JSON, Plaintext
- 支持简体中文以及英文
- 订阅 Topic 支持自定义颜色标记
- 点击已订阅 topic 可进行消息过滤
- 存储 MQTT 服务器信息并可进行下拉选择