v1.9.1 进行中:MQTT X CLI 支持自动重连及保存和读取本地文件

news2024/11/20 18:30:52

十一月初,MQTT X 团队发布了 1.9.0 版本:MQTT X CLI 命令行客户端实现支持 MQTT 的性能测试,桌面端应用新增了关于学习 MQTT 的帮助页面等,此外还进行了一些使用优化和问题修复。

目前,团队正专注于 1.9.1 版本的开发。新版本中 MQTT X CLI 命令行客户端将支持自动重连,支持读取和存储本地配置文件,还可对于接收到的消息进行格式转换;桌面端应用支持设置滚动频率,并修复了一些使用上的问题。

桌面客户端

支持设置滚动频率

1.9.1 版本中我们新增了一个配置项:滚动频率。该配置项用于设置消息列表的滚动频率,需要在开启自动滚动时才可以配置。

在之前的版本中,当我们开启自动滚动时,消息列表会在接收到新的消息时自动滚动到底部,但是这样会导致消息列表的滚动速度过快,当接收到消息的速率过快时,用户无法马上查看到消息的具体内容。因此,我们新增了滚动频率的配置项,可以在设置页面中进行配置,滚动频率的单位为秒,用户可以根据自己的需求进行配置。设置完成后,当接收到新的消息时,消息列表会在滚动频率时间内滚动到底部,这样可以保证消息列表的滚动速度适中,用户可以在滚动前查看到消息的具体内容。

1

帮助页面调整

在之前的版本中,我们新增了帮助页面,用于帮助用户学习 MQTT。在这个版本中,我们将其设置成了一个独立的菜单,改名为「关于 MQTT 的一切」,方便用户快速点击到该菜单中,查看 MQTT 的相关知识,包括 MQTT 的基本概念、参数配置、主题消息、QoS 以及客户端编程等内容。

2

其它

  • 用户属性配置支持添加多个重复的 key,并为其设置不同的 value,完全兼容 MQTT 协议
  • UI 样式与交互上的优化
  • 修复一些已知 BUG

命令行客户端

支持自动重连

在之前的版本中,当 MQTT 服务器出现异常时,MQTT X CLI 命令行客户端会自动断开连接并退出,这样会导致用户无法在 MQTT 服务器恢复后继续使用 MQTT X CLI,需要重新手动连接。因此,我们在该版本中新增了自动重连的功能,当 MQTT 服务器出现异常后,MQTT X CLI 命令行客户端断开连接后会自动重连。

3

每次重连有一个最大重连次数,当达到最大重连次数后,MQTT X CLI 命令行客户端会退出,以防止客户端在无法连接的情况下一直重连。自动重连的最大重连次数默认为 10 次,可以使用 --maximun-reconnect-times 参数进行配置。

# 以连接命令时的自动重连次数配置为例,修改为 5 次

mqttx conn -h 'broker.emqx.io' -p 1883 --maximun-reconnect-times 5

除重连次数外,我们还新增了重连间隔的配置项,当 MQTT 服务器出现异常后,MQTT X CLI 命令行客户端会在重连间隔时间内进行重连,重连间隔的单位为毫秒,默认为 1000 毫秒,可以使用 --reconnect-period 参数进行配置,

注意:当重连间隔设置为 0 时,表示关闭自动重连功能。

# 以连接命令时的重连间隔配置为例,修改为 5000 毫秒

mqttx conn -h 'broker.emqx.io' -p 1883 --reconnect-period 5000

同时支持在 bench 命令中使用自动重连功能。对于自定数量中的连接,会对每一个异常断开连接的进行自动重连。

4

支持读取和存储本地配置文件

MQTT X CLI 命令行客户端在之前的版本中,每次连接都需要手动输入连接参数,这样会导致用户每次连接都需要输入一遍参数,比较繁琐。因此,我们在该版本中新增了读取和存储本地配置文件的功能。用户可以将连接参数保存到本地配置文件中,下次连接时可以直接读取本地配置文件中的参数,无需再次输入,且支持对所有 CLI 中的命令进行保存。

在运行命令时使用 --save 参数和保存文件的路径即可保存配置文件, 默认保存的文件名为 mqttx-cli-config.json,保存的文件路径为当前运行命令的目录下。

在运行命令时,使用 --config 参数和配置文件的路径即可读取配置文件。

注意:MQTT X CLI 本地存储的文件同时支持 JSON 和 YAML 格式,但是在使用 --save 参数时,需要指定文件的格式,如 --save mqttx-cli-config.json--save mqttx-cli-config.yaml

5

支持消息的格式转换

在之前的版本中,MQTT X CLI 命令行客户端只支持发送字符串类型的消息,当用户发送 Hex 类型的消息时,接收到的消息转换为字符串显示时就会出现问题。因此 MQTT X CLI 命令行客户端在该版本中新增了消息格式转换的功能,用户可以在接收消息时指定消息的格式。

消息格式支持以下几种:

  • String
  • Hex
  • Base64
  • JSON

除 String 格式外,只需要在订阅命令时添加一个 --format 参数 即可指定消息的格式,如 --format hex

6

Web 客户端

MQTT X Web 客户端同步了 MQTT X 桌面端应用的相关功能修改与页面调整。

未来规划

MQTT X 还在持续增强完善中,以期为用户带来更多实用、强大的功能,为物联网应用与服务的测试和开发提供便利。接下来我们将重点关注以下方面,敬请期待:

  • 接收消息和存储时的性能优化,大量消息不卡顿
  • MQTT Debug 功能
  • 支持 Sparkplug B 格式
  • 接收到的消息可以进行自动图表绘制
  • 插件功能
  • 脚本测试自动化(Flow)

版权声明: 本文为 EMQ 原创,转载请注明出处。

原文链接:[https://www.emqx.com/zh/blog/mqttx-newsletter-202211](

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/71826.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑上如何禁止一切弹窗广告?永久关闭桌面弹出广告

现在日常生活工作离不开电脑,在用电脑办公的时候,弹窗广告总会打扰我们的办公,即使关闭弹窗也无用,很是让人讨厌,电脑上如何禁止一切弹窗广告?本篇教程教您如何快速关闭弹窗广告。如果您在使用电脑过程中&a…

人机界面石油行业的应用:如何构建自动化石化罐区储运监控系统?

一、应用背景 在石油化工企业的生产过程中,运输和储存的大部分介质和产品都是流体,为了保证加工过程的正常运行,企业通常建有大量各种储藏罐的罐区。随着工业自动化技术的发展和计算机技术在罐区控制系统中的应用,罐区自动化系统…

antd-vue 累加表单编辑和删除

一、业务场景&#xff1a; 最近在使用Antd-Vue组件库的时候&#xff0c;发现在累加表单 时没有直接可以用的&#xff0c;必须自己在官网上手动合并几个才能实现&#xff0c;为了大家后面遇到和我一样的问题&#xff0c;给大家分享一下 二、具体实现步骤&#xff1a; <temp…

信息安全简介

文章目录Basics of Information SecurityUnsecure SystemsEvolution of SecurityBuild a Security ProgramComputer Security Model: CIA triadThe OSI security architectureFundamentals of Security DesignReferencesBasics of Information Security 我们掌握的信息越多&am…

数字逻辑·时序线路设计【状态化简与编码】

化简原理 等价状态: 1、必要条件&#xff1a;在同样的输入作用下&#xff0c;有相同的输出 2、同样的输入条件下&#xff0c;相应的次态彼此等价 等价次态&#xff1a; 1、对应的次态相同 2、次态为两个现态本身或交错 3、两个次态为状态对封闭链中的一对 4、两个次态的某一后…

图书馆座位预约小程序毕业设计,图书馆座位预约系统设计与实现,微信小程序毕业设计论文怎么写毕设源码开题报告需求分析怎么做

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于微信小程序预约订座小程序&#xff0c;前台用户使用小程序&#xff0c;后台管理使用JavaMysql开发&#xff0c;后台使用了springboot框架&#xff1b;通过后台添加座位类型、座位号&#xff0c;用户通过…

通过分割受损的叶子自动检测昆虫捕食(matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

程序员留的后门,怎么能管它叫热部署呢?

前言 这篇文章给大家分享一个热部署相关的知识点。 这可是一个好东西啊&#xff0c;当年在学习学 JSP 的时候&#xff0c;哐哐哐一顿操作&#xff0c;发现服务没重启&#xff0c;我在 JSP 里面写的东西就直接生效了。 当场我就是一个大大的震惊&#xff0c;而旁边教我的人只…

[附源码]Python计算机毕业设计Django在线教育系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

offsetWidth、offsetHeight、clientHeight、clientWidth、scrollHeight、scrollWidth详细对比

offsetWidth、offsetHeight、clientHeight、clientWidth、scrollHeight、scrollWidth详细对比 代码测试 box-sizing:content-box时 box-sizing:border-box时 总结 offsetHeight、offsetWidth其实就是元素在屏幕上所占的实际宽高&#xff08;包括border、padding&#xff0…

Java数据结构与Java算法学习Day11---有向图、拓扑排序、加权无向图、最小生成图、加权有向图、最短路径(简略笔记记录)

目录 一、有向图 157 1.1有向图的定义及相关术语 157 1.2有向图的实现 158 二、拓扑排序 159 2.1检测有向图中的环 160 2.1.1检测有向图中环API设计 160 2.1.2检测有向环实现 161 2.2基于深度优先顶点排序 162 2.2.1顶点排序API设计 2.2.2顶点排序实现的原理过程 2.…

【Day2】零基础学java--》牛客网刷题【字符集合】

大家好&#xff0c;我是良辰丫&#x1f49e;&#xff01;好久不见&#xff0c;一个多月没写博客了&#xff0c;都有些生疏了&#xff0c;学校的一些事情&#xff0c;考试&#xff0c;实训&#xff0c;各种实验&#xff0c;嘿嘿嘿&#xff01;其实也不能为自己找借口&#xff0c…

PDF文件怎么添加水印?一定要学会的两个方法

相信大家都遇到过这种难题&#xff0c;那就是自己制作PDF文件传输给别人之后&#xff0c;害怕文件内容被别人使用&#xff0c;窃取自己的劳动成果&#xff0c;所以需要对自己的文件进行保护&#xff0c;我们通常的做法是给PDF文件添加水印&#xff0c;这样就可以尽可能的保护文…

Redis这个内存回收,确实有点牛逼!!!

1. 过期 key 处理 Redis 之所以性能强&#xff0c;最主要的原因就是基于内存存储。然而单节点的 Redis 其内存大小不宜过大&#xff0c;会影响持久化或主从同步性能。 我们可以通过修改配置文件来设置 Redis 的最大内存&#xff1a; maxmemory 1gb当内存使用达到上限时&…

【LeetCode】1812. 判断国际象棋棋盘中一个格子的颜色

题目描述 给你一个坐标 coordinates &#xff0c;它是一个字符串&#xff0c;表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘示意图。 如果所给格子的颜色是白色&#xff0c;请你返回 true&#xff0c;如果是黑色&#xff0c;请返回 false 。 给定坐标一定代表国际象棋…

五、卷积神经网络CNN5(卷积相关问题2)

采用宽卷积的好处有什么 窄卷积和宽卷积 对于窄卷积来说&#xff0c;是从第一个点开始做卷积&#xff0c;每次窗口滑动固定步幅。比如下图左部分为窄卷积。那么注意到越在边缘的位置被卷积的次数越少。于是有了宽卷积的方法&#xff0c;可以看作在卷积之前在边缘用 0 补充&…

MySQL数据库学习(1)

一、概述 MySQL 是最流行的关系型数据库管理系统&#xff0c;在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System&#xff1a;关系数据库管理系统)应用软件之一。 在本教程中&#xff0c;会让大家快速掌握 MySQL 的基本知识&#xff0c;并轻松使用 M…

【畅购商城】微信支付模块之微信支付二维码

目录 流程分析 微信支付概述 账号申请 已有账号 ​​​​​​​支付接口和SDK(了解)​​​​​​​ ​​​​​​​入门案例 统一下单 ​​​​​​​查询订单 ​​​​​​​JS版二维码&#xff1a;QRCode.js ​​​​​​​概述 ​​​​​​​入门案例 ​​​​…

字节跳动3-2专家强烈推荐入广告核心部门,要学的12大技术实战PDF

前言 你了解过字节跳动的薪资和职级是什么样的吗&#xff1f; 想必大家都对字节跳动的薪资和职级都有一定的了解了&#xff0c;下面就给大家介绍字节3-1专家推荐的进入字节跳动需要储备知识技能&#xff01;&#xff01;&#xff01; 应届生进入字节跳动的是711的学习路线&am…

Innodb如何实现表--下篇

Innodb如何实现表--下篇Innodb数据页结构File HeaderPage HeaderInfimum和Supremum RecordUser Records和Free SpacePage DirectoryFile Trailer实例分析Innodb数据页结构 Innodb数据页由以下7个部分组成: File Header(文件头) Page Header(页头) Infimun和Supremum Records U…