MQTT через защищенный сокет Websockets закрывается через минуту - RabbitMQ - PullRequest
0 голосов
/ 12 марта 2019

Я подключаюсь к экземпляру 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 или на угловой стороне.Любая помощь будет высоко оценена!

1 Ответ

1 голос
/ 12 марта 2019

Попробуйте установить свой keepAliveInterval, скажем, на 30.

Я подозреваю, что ваш MQTT-сервер имеет значение активности активности по умолчанию, равное 60 секундам, что означает, что он может закрыть соединение вскоре через 60 секунд, если у него не было связи с клиентом в течение этого времени. Заданное вами поле keepAliveInterval должно быть не больше, чем keepalive сервера, поскольку оно определяет, как часто клиент будет пинговать сервер в случае тихого соединения.

Здесь - это KeepAlive, определенный в спецификации MQTT.

...