首页 > 其他分享 >八 个 MQTT 客户端工具

八 个 MQTT 客户端工具

时间:2024-06-11 20:31:58浏览次数:19  
标签:支持 MQTT emqx 工具 客户端 连接 MQTTX

一.如何选择一个 MQTT 测试客户端?

   MQTT 客户端工具常用于建立与 MQTT 服务器 的连接,进行主题订阅、消息收发等操作。一个实用的 MQTT 客户端工具应该具备如下特性:

支持加密连接;

支持 MQTT 5 特性;

在功能全面的基础上保持易用性;

支持多个客户端同时在线;

跨平台,不同操作系统下都可以使用;

支持 MQTT over WebSocket;

进阶功能:支持自定义脚本、日志记录、 MQTT Payload 格式转换等。

二.种MQTT客户端工具介绍

1.MQTT 桌面客户端

MQTTX 是 EMQ 开源的一款跨平台 MQTT 5.0 客户端工具,它支持 macOS, Linux, Windows,并且支持 MQTT 消息格式转换。

MQTTX 的用户界面借助聊天软件的形式简化了页面的操作逻辑,用户可以快速创建连接保存并同时建立多个连接客户端,方便用户快速测试 MQTT/TCP、MQTT/TLS、MQTT/WebSocket 的 连接/发布/订阅 功能及其他特性。

MQTTX 致力于打造优雅、易用的全平台 MQTT 客户端,并在最近发布了 MQTTX CLI 及 MQTTX Web 两个版本,目前在 GitHub Star 数已达到 2K,已成为使用场景最完整的 MQTT 测试客户端。

特性

跨平台,支持 Windows,macOS 和 Linux

支持 MQTT v3.1.1 以及 MQTT v5.0 协议

单/双向 SSL 认证:支持 CA、自签名证书,以及单、双向 SSL 认证

支持 Light、Dark、Night 三种主题模式切换

支持 WebSocket 连接至 MQTT 服务器

支持 Hex, Base64, JSON, Plaintext

支持简体中文、英文、日文、土耳其文及匈牙利文

订阅 Topic 支持自定义颜色标记

支持 $SYS 主题自动订阅,查看流量统计

自定义编辑脚本测试和模拟收发数据

完整的日志记录

下载

官网下载:https://mqttx.app/zh

GitHub 下载:https://github.com/emqx/MQTTX/releases

2.MQTT Explorer

MQTT Explorer 是一个全面的 MQTT 客户端,它的一大亮点是提供了 MQTT 主题的结构化展示及动态预览。

MQTT Explorer 还支持对接收到的 payload 消息进行差异对比及可视化图表展示。与 MQTT.fx 相似,MQTT Explorer 只能创建一个单一的客户端连接,不能多个客户端同时在线。

特性

可视化 Topics 和 Topic 变化的动态预览

删除保留的 Topics

搜索/过滤 Topics

递归删除 Topics

当前和以前收到的消息的差异视图

发布 Toipcs

绘制数字 Topics

保留每个 Topic 的历史记录

Dark/Light 主题

下载

下载地址:https://github.com/thomasnordquist/MQTT-Explorer/releases

3.MQTT.fx

MQTT.fx 是由 Jens Deters 个人开发的,MQTT.fx 适用 Apache License 2.0 协议但并未提供源码。遗憾的是 MQTT.fx ?前已经停?维护,并转为由 Softblade 公司资助开发另发?了其商业版本 MQTT.fx? 5.0,采?收费许可证?式经营该软件。

MQTT.fx 使用 JavaFX 技术开发,可以保存多个连接配置,支持多种类型的加密方式,指定多种类型的证书,创建连接时可以指定使用 HTTP 代理服务器。

总的来说 MQTT.fx 有丰富且成熟的功能,支持了 TCP 连接中所有可能遇到的配置项,但是用户同一时间只能建立一个连接,不能满足同时使用多个测试连接的需求。

另外它没有实现对 WebSocket 的支持,在 MQTT over WebSocket 的测试场景中无法使用。

特性

预定义消息模板

通过系统主题 $SYS 获取 broker 状态

记忆最近使用主题的

通过 Nashorn Engine ,支持 JavaScript 脚本

支持日志显示,显示连接中的日志信息

跨平台桌面,支持 Windows、MacOS 和 Linux

下载

下载地址:https://www.jensd.de/wordpress/?p=2746

4.eclipse paho

Eclipse Paho本身是mqtt 客户端的开发库,提供多种语言实现,其也提供了MQTT客户端工具,用于测试。

下载地址:

https://repo.eclipse.org/content/repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.ui.app/1.0.2/

5.MQTT 在线客户端

MQTTX Web

MQTTX Web 是一款开源的 MQTT 5.0 浏览器客户端,也是一个在线 MQTT WebSocket 客户端工具。开发者无需在本地下载和安装 MQTTX,即可使用 WebSocket 在浏览器中快速连接到 MQTT 服务器,更快地开发和调试 MQTT 服务和应用。

立即体验:http://www.emqx.io/online-mqtt-client

更多详情,请查看 GitHub 仓库:https://github.com/emqx/MQTTX/tree/main/web

6.MQTT 命令行客户端

MQTTX CLI

MQTTX CLI 是一款全开源的、强大而易用的 MQTT 5.0 命令行客户端工具,也是命令行上的 MQTTX,旨在帮助开发者无需使用图形化界面,也能快速开发和调试 MQTT 服务与应用。

特性

无依赖限制:基于命令行的安装和使用,无任何环境依赖要求

MQTT 基准测试: 开箱即用的 MQTT 性能测试工具

配置文件: 支持为 连接、发布 和 订阅 保存为本地配置文件

优雅的输出: 输出对用户友好、易于理解的命令行内容,便于查看测试步骤及内容

下载

MQTTX CLI 可以快速下载并安装到 macOS、Linux 和 Windows 系统上,安装前不需要任何的依赖环境准备,只需在终端内执行命令,即可安装和使用 MQTTX CLI。

立即下载试用:https://mqttx.app/zh/cli

快速开始

订阅

mqttx sub -t 'mqttx/cli' -h 'broker.emqx.io' -p 1883

发布

mqttx pub -t 'mqttx/cli' -h 'broker.emqx.io' -p 1883 -m 'hello from MQTTX CLI!'

发布多条消息

mqttx pub -t 'mqttx/cli' -h 'broker.emqx.io' -p 1883 -s -M

MQTTX CLI 支持一个 pub 命令可以发布多条消息的功能,只需要在编辑是在命令中添加一个 -M 参数和 -s 参数,每次输入完成后换行即可。

性能测试

# Connect Benchmark

mqttx bench conn -c 5000

# Subscribe Benchmark

mqttx bench sub -c 5000 -t bench/%i

# Publish Benchmark

mqttx bench pub -c 5000 -t bench/%i

7.NanoMQ CLI

NanoMQ 是用于物联网边缘的超轻量级 MQTT 消息服务器,它同时也内置了一个强大的 MQTT 协议性能测试工具 bench 及 MQTT 测试客户端。

特性

支持性能测试

支持 MQTT 5.0

可运行在边缘端

支持从文件读取数据作为 payload

下载

下载地址:https://nanomq.io/zh/downloads

快速开始

性能测试工具 bench

# 启动 10 个连接,每秒向主题 t 发送 100 条 Qos0 消息,其中每个消息负载的大小为 16 字节

nanomq_cli bench pub -t t -h broker.emqx.io -s 16 -q 0 -c 10 -I 10

# 启动 500 个连接,每个连接使用 Qos0 订阅 t 主题

nanomq_cli bench sub -t t -h broker.emqx.io -c 500

# 启动 100 个连接

nanomq_cli bench conn -h broker.emqx.io -c 100

MQTT 测试客户端

# 向主题 t 发送 100 条 Qos2 消息测试。

nanomq_cli pub -t t -h broker.emqx.io -q 2 -L 100 -m test

# 订阅主题 t

nanomq_cli sub -t t -h broker.emqx.io -q 1

8.Mosquitto CLI

Mosquitto 是一个开源(EPL/EDL 许可证)的消息代理,安装之后默认提供了 mosquitto_pub 和 mosquitto_sub 两个命令行 MQTT 客户端工具。

Mosquitto CLI 有多个配置选项,支持 TLS 证书连接、通过代理服务器连接,支持 debug 模式,在 debug 模式下可以获取更详细的消息信息。

特性

轻量级命令行工具,支持 debug 模式

支持加密及非加密连接至 MQTT 服务器

便于在远程服务器测试

下载

下载地址:https://github.com/eclipse/mosquitto

快速开始

订阅

mosquitto_sub -t 'test/topic' -v

发布

mosquitto_pub -t 'test/topic' -m 'hello world'

二.参考文章

https://www.emqx.com/zh/blog/mqtt-client-tools

标签:支持,MQTT,emqx,工具,客户端,连接,MQTTX
From: https://blog.csdn.net/xieliru/article/details/139607946

相关文章

  • [软件工具百科] 互联网资源历史快照归档站点与数字图书馆
    1archive.org官网https://archive.org网站简介https://archive.org由BrewsterKahle创办,是一个非营利性的数字图书馆。从1996年起,它每隔一会就会抓取各种各样的网页、视频、图片等资料,保存在“图书馆”。目前图书馆里存了8660亿个网页,1200万个视频,49......
  • snmp-check一键获取SNMP信息(KALI工具系列二十一)
    目录1、KALILINUX简介  2、snmp-check工具简介3、在KALI中使用onesixtyone3.1目标主机IP(win)3.2KALI的IP 4、操作示例4.1SNMP检查4.2指定SNMP端口4.3指定社区字符串4.4详细输出4.5指定多项5、总结1、KALILINUX简介KaliLinux是一个功能强大......
  • SQLynx荣登Web SQL工具ChatGPT推荐榜首,数据库管理工具首选
    近年来,随着互联网技术的迅猛发展,数据库管理工具也在不断进步和创新。作为一种便捷且高效的数据库管理方式,WebSQLIDE工具逐渐成为开发者和数据库管理员的首选。在众多WebSQL工具中,SQLynx凭借其卓越的功能和用户体验,荣登ChatGPT同类推荐榜首,成为市场上的领导者。目录1SQ......
  • 简洁免费的内网穿透工具
    1.什么是内网穿透?内网穿透,即内网映射,本地服务器内网IP端口,提供到外网连接访问的实现和过程。通俗来说就是将局域网电脑访问和别人电脑访问通过快解析内网端口映射外网,互连互通,让本地内部内网的数据能在别人的电脑上可以获取。内网穿透可以将原本只能在本机上访问的项目网站等,......
  • 【神兵利器】One-Fox工具箱V7魔改版发布
    更新说明在6.0版本的基础上重新规划了工具箱去除了一些工具新增些许新工具以及旧工具的新版本修复部分已知BUG优化代码逻辑,修复界面无法根据电脑分辨率进行自适应问题新增鼠标移动到工具按钮上显示文本浮框功能美化框架UI(本次为简约风格)等此工具为python语言编写......
  • Socat多功能网络工具
    Socat多功能网络工具socat的启用:与nc相同①基本使用方法一、监听/聊天工具1、Windows做客户端,kali做服务端服务端kali开放7777号端口让客户端Windows7连接(谁做服务端,谁就要加stdout)Windows7连接Kali的7777端口2、Windows做服务端,kali做客户端②基本使用方法二、正/反......
  • 2024最新国产免费AI工具合集
    【导读】谁还在说国产AI不好用?今天就给大家分享几款2024年最新出品的免费又好用的国产AI工具集吧。一、阿里通义万相这是阿里出品的一款免费的AI绘图工具。你可以轻松制作自己想要的插画或海报,对于需要处理大量图片的设计师、摄影师或电商从业者来说,这款工具无疑能大大提升工......
  • 针对PDF文档:印章、数字签名、编辑保护、PDF/A的Java工具类
    背景  本文是基于Java语言,引入POI从而提供将富文本编辑器内的html内容转换为docx的方式。代码  引入pom坐标<dependency><groupId>cn.net.pap</groupId><artifactId>pap4j-common-pdf</artifactId><version>0.0.1</version></......
  • 全球Web数据库管理工具推荐(ChatGPT 4o的推荐是什么样?)
    在现代数据管理和开发中,Web数据库管理工具变得越来越重要。这些工具不仅提供了直观的用户界面,还支持跨平台操作,方便用户在任何地方进行数据库管理。目录1.SQLynx2.phpMyAdmin3.Adminer4.DBeaver5结论以下是几款推荐的Web数据库管理工具,每款工具都有其独特的特......
  • 1_websocket工具封装
    Websocket1构造函数newWebSocket(url[,protocols])参数url:要连接到的URLprotocols:单个协议字符串或协议字符串数组2实例属性binaryType:接收的二进制数据的类型blobarraybufferreadyState:websocket连接的当前状态readyState值mean解释......