|
MQTT X v1.7.0 正式发布:MQTT 5.0 支持最为完整的客户端工具
- X+ y) c4 ^+ N) l/ v2 g" K7 p1 c- c$ E2 t7 ~$ N- l3 b
2 \ M1 x2 {! B. U) _2 ]6 E
8 W6 F. z* p, ?* L$ k! F% X7 t4 QMQTT X 是由EMQ 映云科技开源的一款跨平台 MQTT 5.0 桌面测试客户端,支持 macOS、Linux、Windows 系统。1 Z) ^$ l3 G" Y" [: C; U
4 }% c2 y) i+ U% W# r) NMQTT X 的用户界面借助聊天软件的形式简化了页面的操作逻辑,用户可以快速创建多个同时在线的 MQTT客户端,方便测试 MQTT/TCP、MQTT/TLS、MQTT/WebSocket 的连接/发布/订阅功能及其他 MQTT协议特性。' s3 Z- E/ [! o j) `& L( g7 ?
9 X: n+ B j/ S9 l6 P7 t0 ?
近日,EMQ 映云科技正式发布了 MQTT X v1.7.0。. s4 u f) ~9 r0 z
% T) \# }) L; L w, D" p
从这一版本起,MQTT X 将进一步支持 MQTT 5.0 的诸多新特性,使其成为目前为止全球排名领先的对 MQTT 5.0 支持较为完整的桌面测试客户端工具。$ b" F3 `- ?* l& X& E9 d
$ P. b: }) h( D6 U% W
& _: b- y' M* ^9 g( M: Z
4 W S- T# M! t更全面的 MQTT 5.0 支持
: O, }6 [) p# h$ y+ n m. C) W8 B在 1.7.0 版本中,MQTT X 新增很多关于 MQTT 5.0 的属性配置功能支持,使其成为目前同类工具中对MQTT 5.0支持较为完整的 MQTT 桌面客户端工具。9 S+ Y6 Q) N. W* ~/ T" J) i
) d2 Q! i' V+ v( l- i注:如欲对 MQTT 5.0 的特性进行使用和测试,需要 MQTT X v1.7.0 与支持 MQTT 5.0 的 MQTT Broker 配合使用。* n; h* @; ?7 ~% _- t+ }0 Y
* h/ ?, v6 v& N+ z8 E+ x
云原生分布式 MQTT 消息服务器 EMQ X 从 3.0 版本开始支持 MQTT 5.0 协议,是开源社区中第一个支持该协议规范的消息服务器,并且完全兼容 MQTT 3.1 和 3.1.1 协议。使用 MQTT X 连接到 EMQ X,就可以快速使用和测试 MQTT 5.0 的功能特性。
4 m g" ]# u4 T- W5 `3 s, ~) N- y% I- f
支持 MQTT 5.0 用户属性配置5 g% J! [& a' X! p W
* C- v) y6 _8 w
新版本MQTT X首先支持了用户属性的配置。7 Y. j( h. N) t- h
; Q( K; c1 |# ~. G/ E用户属性是 MQTT 5.0 中一个非常实用的特性,它是一种自定义属性,允许用户向 MQTT 消息添加自己的元数据,传输额外的自定义信息以扩充更多应用场景。如果您熟悉 HTTP 协议的话,将发现该功能与 HTTP 的 Header 的概念非常类似。1 Y) J( U* t1 m: s
5 {( U9 I- I6 Q% T% z+ G
我们可以在创建客户端连接和发布消息时进行用户属性的配置。2 q2 u: W' @* w2 @
9 y% K+ F5 N6 Z7 L扩展 MQTT 5.0 其他属性配置
8 o6 L; `4 @1 V2 N2 y% j' J. S- T% _
除可配置用户属性外,1.7.0 版本还扩展了客户端连接和消息发布时的其他属性配置。) R& z# P) S5 o0 Z
3 F q. l5 x+ o$ T, l) A* `2 U发送消息时,支持配置 Content Type,指定 Payload Format Indicator,用来描述应用消息的内容的格式,并指定消息内容是 UTF-8 编码的字符串。0 U" m4 W, Z" D$ F7 P- b7 I' Y7 z
@8 M2 _3 }. h支持主题别名的属性配置,可以有效节省带宽资源和计算资源。! R' a* t5 z+ T% b# e; J
' r4 O- q/ ]+ Y# u9 ^- o) A) W# m支持 MQTT 5.0 中的请求响应,提供 Response Topic 和 Correlation Data,用以控制响应消息被路由回请求的发布者。) t& k7 P {; t) ~$ `+ ]! x
$ M; G1 G0 ?- G
支持 MQTT 5.0 订阅选项
4 T* A/ d: q6 A3 P: M+ k! j: w0 m6 q) T& W, k1 f
该版本中我们还对订阅选项进行了支持。支持了对 No Local flag、Retain as Published flag 和 Retain Handling 的设置。测试时,您可以使用这些订阅选项来改变服务端的行为。
. v1 F2 q. q' u- X
) E! R' e- J" o+ H) k在后续版本中我们还将继续支持订阅标识符等 MQTT 5.0 中的新特性。" `! S9 ]) L& _9 @0 j3 L
/ c- p! P0 U- H: \
更顺畅的使用体验* C6 Q. D6 V: Z
一键多主题订阅
f A, m2 G- M# f" {, k* s- Z& {4 K0 f$ g" l9 D
在之前的版本中,我们每次打开订阅主题的弹框只能订阅一个主题,对于想要订阅多个主题的用户来说,每次都需要点击打开和关闭才能订阅多个主题,不是很方便。
- i% T! u) C5 c1 i$ w# j
6 V/ N4 h# X* P% C! {8 ~因此,在新版本我们进行了优化,支持一次订阅多个主题,减少用户重复操作。
6 W3 j6 e. ~- h$ b
: o' y( u/ q1 g% }# g禁止消息自动滚动# t W0 I! m& V- S4 [( w
% ~; A- f+ |; u
v1.7.0 设置中新增了对接收和发布消息时消息列表自动滚动的控制。自动滚动功能适用于当消息接收速率较慢时,可以帮助用户查看到最新消息。当接收消息的速率过快时,用户可以点击关闭该功能,以查看一些发送或接收到的旧消息。; D! q6 c& T: N2 g( `
+ f! H W# ?8 q( g
注:当关闭自动滚动功能后,可以提升部分发送和接收消息时的性能. _" Z) ^& Q0 r- C; a2 ~1 R, N
) X1 d2 i8 v( u0 P6 a1 n( q$ k主题跟随操作系统主题变化(仅支持macOS)
4 ^' O ?1 C8 b! n! k" L0 C: j1 x: H: G' Y# E! E+ S+ ]
MQTT X 目前支持 Light、Dark 和 Night 三种主题模式,之前需要手动切换,新版本对此进行了优化。当操作系统的系统主题进行变化时,MQTT X 可以自动切换主题。当 macOS 系统主题是 Dark Mode 时,MQTT X 将自动切换到 Night 主题。
N5 s7 m6 |3 z( `- p, z/ d% O# n; l1 k6 f; W1 r
国际化扩展4 y% u8 } r# z7 L: h/ ]
, A& x) X U" s2 |" }. a8 a3 \2 M借助来自社区的力量, MQTT X 的国际化扩展更进一步。除支持简体中文、英文、日文和土耳其文外,在一位匈牙利籍贡献者的帮助下,我们在 1.7.0 版本中实现了匈牙利语支持。* \- N' C( b2 E6 E; l2 i
9 p6 y( n2 X3 m. G2 Z, _/ k欢迎更多的社区伙伴参与进来,和我们一起打造更加优秀的 MQTT X。
4 r8 Y2 F2 Z# N) \5 U
2 E, C2 w4 b$ T3 f7 L( x更精细的产品打磨
; x% a5 k1 `7 x, o- X) d0 T修复及优化
; u4 F0 n- q& A/ d: M' ?1 f: g- m! c+ j/ N e& k+ @7 q h$ n% [
除添加上述新特性外,本次更新还修复了很多已知问题,稳定性得到了进一步提升。: ]# ]( _2 {4 d! x1 X+ p; C
( T6 c* C2 o8 \4 e) f( m修复自动重订阅设置的同步问题
5 ?% t. [( i8 C) e! ]% d" I修复导入/导出数据的问题
: n4 j9 k5 N/ D" k- I( z修复无法编辑已经创建的连接的问题
0 o7 v8 r% N, Y$ }' n修复了 SSL/TLS 连接时,出现证书过期错误的问题
3 s+ {7 a; a2 Y; d' B3 T修复无法删除历史消息记录的问题
4 w, ~. d! S/ C修复 Base 64 转化的问题
* L/ A0 a3 \. ?7 u修复无法新建窗口的问题9 o( S7 P% ~) T7 K8 E* S5 L
修复连接列表连接时,出现乱序的问题
# x9 W* H4 \* o0 J r! H未来规划
A$ O8 t% V" b
' H, q, D, X1 q& I5 w8 DMQTT X 还在持续增强完善中,以期为用户带来更多实用、强大的功能,为物联网平台的测试和开发提供便利。9 u' ]9 k, k u Y' k
. h5 s& P! a, H$ B0 H' B
接下来我们将重点关注以下方面:( R3 v# |2 M8 Z9 E/ W* T# n) N
+ I$ c) ~/ f2 T$ f0 \5 n: `5 X- _更完整的 MQTT 5.0 支持 i y( E5 K0 O9 |$ ~
插件系统(例如支持 SparkPlug B)
: B: [% T2 o1 t1 D( m( M HMQTT Debug 功能8 l h2 d2 j% ~# ]+ z
脚本功能优化
" l+ X$ h+ O+ f8 J结语
' e S# o; o3 X3 u! T6 J- o! @6 L+ UMQTT X 为连接测试 EMQ X 等 MQTT 消息服务器而生,通过一键式的连接方式和简洁的图形界面帮助使用者进行 MQTT 特性探索和功能组件调试。2 T- G/ i, W( `% @/ [. A
6 w' P" s0 T* V3 O* ~9 k/ k除提供基础 MQTT 测试连接功能,全开源和社区驱动等特性还使其集成了更多丰富、强大、符合用户使用习惯的功能特性。结合 MQTT X 与云原生分布式消息中间件 EMQ X,我们相信物联网平台的测试开发工作将变得更加轻松。
/ E" P" b, }6 v" Q- b" C
" W) ~+ b4 c' @MQTT X 项目完全开源,也特此感谢社区中所有用户的贡献和反馈,每一个社区用户的使用与肯定,都是我们产品前进的动力。( R! X+ l9 @: @' F; N6 ?
$ f8 u1 @! J5 f4 M |
|