MQTT over Secure Websockets 套接字在一分钟后关闭 - RabbitMQ

MQTT over Secure Websockets Socket Closed After a Minute - RabbitMQ

我正在通过安全 Websockets 连接到 MQTT RabbitMQ 实例(Angular 6 使用此模块,import { Paho } from 'ng2-mqtt/mqttws31')。它连接成功,但套接字连接似乎在一分钟后关闭。不管 KeepAliveInterval 设置成什么,它似乎总是在一分钟后关闭套接字连接。

这是我的客户端连接:

this.client.connect({ userName: "username", password: "password", onSuccess: this.onConnect.bind(this), useSSL: true, timeout: 60, keepAliveInterval: 6000 });

我不确定问题是在RabbitMQ服务器上还是在Angular端。任何帮助将不胜感激!

尝试将您的 keepAliveInterval 设置为 30。

我怀疑你的MQTT服务器有一个默认的keepalive设置为60秒,这意味着如果在这段时间内没有与客户端进行任何通信,它很可能会在60秒后很快关闭连接。您设置的 keepAliveInterval 字段最多应与服务器的 keepalive 一样大,因为它决定了客户端在安静连接出现时 ping 服务器的频率。

Here 是 MQTT 规范中定义的 KeepAlive。