MQTT.fx是一款基于Eclipse Paho、使用Java语言编写的MQTT客户端。支持Windows、Mac和Linux操作系统,可用于验证设备是否可以连接微消息队列MQTT版,并通过Topic发布和订阅消息。本文以Windows系统为例,介绍如何使用MQTT.fx模拟SDK接入微消息队列MQTT版并进行消息收发。
前提条件
背景信息
微消息队列MQTT版最简单的使用场景即MQTT客户端消息的自发自收。如下图所示,您可以使用MQTT.fx作为MQTT客户端,在MQTT.fx客户端配置相关参数后接入微消息队列MQTT版实现消息的发送和接收。

微消息队列MQTT版同时提供了公网接入点和VPC 接入点。
- 在物联网和移动互联网的场景中,客户端推荐使用公网接入点接入。
- VPC 接入点仅供一些特殊场景使用。例如涉及部署在云端服务器上的应用场景。
使用流程
使用MQTT.fx收发消息的流程如下图所示。

(RAM用户必选)步骤一:为RAM用户授权
若您开通消息队服务使用的是账号是RAM用户,必须先为RAM用户进行授权,才能访问微消息队列MQTT版的资源。若您的账号是阿里云账号,默认拥有使用微消息队列MQTT版资源的权限,您可以跳过该步骤。
- 使用阿里云账号登录RAM控制台。
- 在左侧导航栏,选择 。
- 在用户页面,单击目标RAM用户操作列的添加权限。
- 在添加权限面板,为RAM用户添加权限。
- 单击确定。
- 单击完成。
权限策略名称 | 说明 |
---|---|
AliyunMQFullAccess | 管理微消息队列MQTT版的权限,等同于阿里云账号的权限,被授予该权限的RAM用户具有所有消息收发权限且有控制台所有功能操作权限。 |
AliyunMQPubOnlyAccess | 微消息队列MQTT版的发布权限,被授予该权限的RAM用户具有使用阿里云账号所有资源通过SDK发送消息的权限。 |
AliyunMQSubOnlyAccess | 微消息队列MQTT版的订阅权限,被授予该权限的RAM用户具有使用阿里云账号所有资源通过SDK订阅消息的权限。 |
AliyunMQReadOnlyAccess | 微消息队列MQTT版的只读权限,被授予该权限的RAM用户仅有通过访问控制台或调用管控API读取资源信息的权限。 |
步骤二:创建MQTT实例并获取接入点
步骤三:创建父级Topic
MQTT协议支持多级Topic,父级Topic需在控制台创建,子级Topic无需创建,使用时直接在代码中设置即可。命名格式为:父级Topic和各子级Topic间均使用正斜线(/)隔开,<父级Topic名称>/<二级Topic名称>/<三级Topic名称>,例如,SendMessage/demo/producer。父级Topic和子级Topic总长度不能超过64个字符。Topic详细信息,请参见名词解释。
步骤四:创建Group
Group ID详细信息,请参见名词解释。
步骤五:配置MQTT.fx接入微消息队列MQTT版
使用MQTT.fx订阅消息
使用MQTT.fx发送消息
查看消息轨迹
返回3条消息轨迹。从下至上依次为:
- 第1条:MQTT微消息队列MQTT版控制台发送到MQTT.fx的消息。
- 第2条:MQTT.fx客户端发送的消息。
- 第3条:推送至MQTT.fx的消息。第2条和第3条轨迹的Message ID相同,即通过MQTT.fx完成了同一条消息的自收发。
查看日志
在MQTT.fx中,单击Log页签可查看操作日志和错误日志。
