跳转到内容

MQTT

在一个 WebSocket 请求上选择 mqtt 协议即可使用 MQTT。

一个 MQTT 标签页:主题、QoS、保留选项、连接时订阅、客户端标识、keepalive、遗嘱消息 (LWT) 以及发布的负载

字段作用
URL消息代理的地址(mqtt://mqtts://,或 WebSocket)
主题主题,承载在事件字段中
消息发布的负载
QoS012 —— 发布订阅时都会使用
保留 (retain)将消息标记为由消息代理保留
客户端标识由 Handlebars 解析;留空时自动生成
用户名 / 密码消息代理的凭据;密码接受密钥类型的值
Keepalive以秒为单位
订阅该主题默认启用:连接时 Restorm 会订阅该请求的主题

主题支持 {{变量}} —— capteurs/{{site}}/{{capteurId}} 就是一个完全合法的主题。

四个字段声明了当您的客户端突然消失时消息代理将发布的消息:遗嘱消息的主题负载QoS保留标志

这正是测试系统面对非正常断开时行为的利器:配置一条遗嘱消息,切断连接,然后验证订阅方是否作出反应。

MQTT 客户端会自动重连,上限为十次尝试

MQTT 连接(订阅该请求的主题,并为每条收到的消息发出一个事件)、MQTT 发布(按请求配置的 QoS 和保留标志进行发布)以及 MQTT 关闭连接。参见 连接与流

Restorm 能够托管一个本地 MQTT 消息代理:每个端口一个代理, 可通过原始 TCP 访问,也可通过 MQTT-over-WebSocket 网关访问。参见 模拟 WebSocket、Socket.IO 和 MQTT

如果一个 AsyncAPI 文档的通道使用 mqtt 协议,它会直接生成 MQTT 请求(每个通道一个,分为发布和订阅), 并根据消息 schema 构建示例负载。参见导入 AsyncAPI