Skip to content

使用MQTT客户端连接PhxQueue

Tao He edited this page Oct 15, 2018 · 4 revisions

阅读本文前,请先确保已经完成了PhxQueue部署MQTT支持中所述的前置工作。

支持MQTT的分支:https://github.com/Tencent/phxqueue/tree/mqtt

选取客户端

根据业务所使用的语言选择标准MQTT客户端:

开发语言 项目地址
Go https://github.com/eclipse/paho.mqtt.golang
JavaScript https://github.com/eclipse/paho.mqtt.javascript
Python https://github.com/eclipse/paho.mqtt.python
Java https://github.com/eclipse/paho.mqtt.java
Rust https://github.com/eclipse/paho.mqtt.rust
C# https://github.com/eclipse/paho.mqtt.m2mqtt
C++ https://github.com/eclipse/paho.mqtt.cpp
C https://github.com/eclipse/paho.mqtt.c
UI工具 https://github.com/eclipse/paho.mqtt-spy

下面以UI工具为例说明如何通过MQTT接入PhxQueue。

连接

下载mqtt-spy到任一目录。运行两个mqtt-spy实例,一个用作发送方,一个用作接收方。

java -jar mqtt-spy-1.0.1-beta-b18-jar-with-dependencies.jar

运行后,软件显示主界面。

mqtt-spy-1

选择菜单Connections -> Manage connections。选中mqtt-spy@localhost项,点击 Duplicate按钮复制并重命名为mqtt-spy-pub@localhost,并且将Client ID修改为mqtt-spy-pub,点击Open connection按钮启动到PhxQueue的连接,用作发送方。以同样方法建立一个mqtt-spy-sub@localhost用作接收方。

mqtt-spy-2

订阅主题

切换到接收者mqtt-spy-sub@localhost窗口,点击中部的New按钮,输入/test/1/并点击Subscribe按钮以订阅这个主题。主题名必须为(/ + phxqueue_topic_name + / + phxqueue_pub_id + /),否则会订阅失败。

mqtt-spy-3

订阅成功后,主界面会出现/test/1/标签页,接收到所有属于/test/1/主题的消息都会显示在这个标签页下面。

mqtt-spy-4

发送消息

切换到发送者mqtt-spy-pub@localhost窗口,在Topic文本框输入/test/1/作为发送的主题,在Data文本框输入test_data_1作为发送的内容。然后点击Publish按钮将消息发送到PhxQueue。

mqtt-spy-5

接收消息

切换到接收者mqtt-spy-sub@localhost窗口,切换到/test/1/标签页,可以看到该主题接收到的PhxQueue消息和内容。

mqtt-spy-6

取消订阅

切换到接收者mqtt-spy-sub@localhost窗口,右击/test/1/标签页标题出现右键菜单,Unsubscribe可以取消订阅该主题。

断开连接

在窗口顶部的标签页右击,右键菜单Disconnect可以断开该客户端与PhxQueue的连接。