MQTT X 是由 EMQ 開源的一款跨平臺 MQTT 5.0 桌面測試客戶端,支持 macOS、Linux、Windows 系統。MQTT X 的用戶界面藉助聊天軟件的形式簡化了頁面的操作邏輯,用戶可以快速創建多個同時在線的 MQTT 客戶端,方便測試 MQTT/TCP、MQTT/TLS、MQTT/WebSocket 的連接/發佈/訂閱功能及其他 MQTT 協議特性。
近日,MQTT X v1.7.0 正式發佈。從這一版本起,MQTT X 將進一步支持 MQTT 5.0 的諸多新特性,這也是全球目前爲止對 MQTT 5.0 支持最爲完整的桌面測試客戶端工具。
MQTT X 網站:https://mqttx.app/zh
MQTT X v1.7.0 版本下載:https://www.emqx.com/zh/try?product=MQTTX
Mac 用戶可在 App Store 中進行下載:https://apps.apple.com/cn/app/mqttx/id1514074565?mt=12
Linux 用戶可在 Snapcraft 中進行下載:https://snapcraft.io/mqttx
更全面的 MQTT 5.0 支持
在 1.7.0 版本中,MQTT X 新增很多關於 MQTT 5.0 的屬性配置功能支持,使其成爲目前同類工具中支持 MQTT 5.0 最爲完整的 MQTT 桌面客戶端工具。
要想對 MQTT 5.0 的特性進行使用和測試,需要 MQTT X v1.7.0 與支持 MQTT 5.0 的 MQTT Broker 配合使用。
雲原生分佈式 MQTT 消息服務器 EMQ X 從 3.0 版本開始支持 MQTT 5.0 協議,是開源社區中第一個支持該協議規範的消息服務器,並且完全兼容 MQTT 3.1 和 3.1.1 協議。使用 MQTT X 連接到 EMQ X,就可以快速使用和測試 MQTT 5.0 的功能特性。
支持 MQTT 5.0 用戶屬性配置
新版本中我們首先支持了用戶屬性的配置。用戶屬性是 MQTT 5.0 中一個非常實用的特性,它是一種自定義屬性,允許用戶向 MQTT 消息添加自己的元數據,傳輸額外的自定義信息以擴充更多應用場景。如果你熟悉 HTTP 協議的話,該功能與 HTTP 的 Header 的概念非常類似。
我們可以在創建客戶端連接和發佈消息時進行用戶屬性的配置。
擴展 MQTT 5.0 其它屬性配置
除可配置用戶屬性外,1.7.0 版本還擴展了客戶端連接和消息發佈時的其他屬性配置。
發送消息時,支持配置 Content Type,指定 Payload Format Indicator,用來描述應用消息的內容的格式,並指定消息內容是 UTF-8 編碼的字符串。
支持主題別名的屬性配置,可以有效節省帶寬資源和計算資源。
支持 MQTT 5.0 中的請求響應,提供 Response Topic 和 Correlation Data,用以控制響應消息被路由回請求的發佈者。
支持 MQTT 5.0 訂閱選項
該版本中我們還對訂閱選項進行了支持。支持了對 No Local flag、Retain as Published flag 和 Retain Handling 的設置,測試時,你可以使用這些訂閱選項來改變服務端的行爲。
在後續版本中我們還將繼續支持訂閱標識符等 MQTT 5.0 中的新特性。
更順暢的使用體驗
一鍵多主題訂閱
在之前的版本中,我們每次打開訂閱主題的彈框只能訂閱一個主題,對於想要訂閱多個主題的用戶來說,每次都需要點擊打開和關閉才能訂閱多個主題,不是很方便。因此在新版本我們進行了優化,支持一次訂閱多個主題,減少用戶的重複操作。
禁止消息自動滾動
v1.7.0 設置中新增了對接收和發佈消息時消息列表自動滾動的控制。自動滾動功能適用於當消息接收速率較慢時,可以幫助用戶查看到最新消息。當接收消息的速率過快時,用戶可以點擊關閉該功能,以查看一些發送或接收到的舊消息。
注意:當關閉自動滾動功能後,可以提升部分發送和接收消息時的性能。
主題跟隨操作系統主題變化(僅支持 macOS)
MQTT X 目前支持 Light、Dark 和 Night 三種主題模式,之前需要手動切換,新版本對此進行了優化。當操作系統的系統主題進行變化時,MQTT X 可以自動切換主題。當 macOS 系統主題是 Dark Mode 時,MQTT X 將自動切換到 Night 主題。
國際化擴展
藉助來自社區的力量, MQTT X 的國際化擴展更進一步。除支持簡體中文、英文、日文和土耳其文外,我們在一位匈牙利貢獻者的幫助下,在 1.7.0 版本中實現了匈牙利語支持。
歡迎更多的社區夥伴參與貢獻,和我們一起打造更加優秀的 MQTT X。
更精細的產品打磨
修復及優化
除添加上述新特性外,本次更新還修復了很多已知問題,穩定性得到了進一步提升。
- 修復自動重訂閱設置的同步問題
- 修復導入/導出數據的問題
- 修復無法編輯已經創建的連接的問題
- 修復了 SSL/TLS 連接時,出現證書過期錯誤的問題
- 修復無法刪除歷史消息記錄的問題
- 修復 Base 64 轉化的問題
- 修復無法新建窗口的問題
- 修復連接列表連接時,出現亂序的問題
未來規劃
MQTT X 還在持續增強完善中,以期爲用戶帶來更多實用、強大的功能,爲物聯網平臺的測試和開發提供便利。
接下來我們將重點關注以下方面:
- 更完整的 MQTT 5.0 支持
- 插件系統(例如支持 SparkPlug B)
- MQTT Debug 功能
- 腳本功能優化
結語
MQTT X 爲連接測試 EMQ X 等 MQTT 消息服務器而生,通過一鍵式的連接方式和簡潔的圖形界面幫助使用者進行 MQTT 特性探索和功能組件調試。除提供基礎 MQTT 測試連接功能,全開源和社區驅動等特性還使其集成了更多豐富、強大、符合用戶使用習慣的功能特性。結合 MQTT X 與雲原生分佈式消息中間件 EMQ X,我們相信物聯網平臺的測試開發工作將變得更加輕鬆。
MQTT X 項目完全開源,您可以到 GitHub 來提交使用過程中遇到的問題,或是 Fork MQTT X 項目向我們提交修改後的 PR,我們將會及時查閱和處理。也特此感謝社區中所有用戶的貢獻和反饋,每一個社區用戶的使用與肯定,都是我們產品前進的動力。
版權聲明: 本文爲 EMQ 原創,轉載請註明出處。
原文鏈接:https://www.emqx.com/zh/blog/mqttx-v-1-7-0-release-notes