Почему MongooseIM закрывает соединение через websocket через 60 секунд?
Я использую MongooseIM в качестве сервера чата и подключаю его через websocket, используя xmpp.js внутри собственного реактивного приложения. Сервер принудительно закрывает соединение через 60 секунд после неактивности. Я хочу знать:
- Если это конфигурация по умолчанию?
- Должен / Могу ли я изменить это?
- Должен ли я настроить механизм пинга так, чтобы мой клиент отправлял несколько пингов через каждые 60 с, чтобы избежать отключения
1 ответ
Соединения WebSocket имеют значение времени ожидания по умолчанию для бездействия, установленное в бесконечность. Ваша конфигурация, скорее всего, содержит "{timeout, 60000}" в конфигурации "mod_websockets". Чтобы поддерживать незанятые соединения, подключенные к серверу, вы можете время от времени отправлять ping-кадры WebSocket.
Дополнительная информация о конфигурации "mod_websockets" находится здесь: https://mongooseim.readthedocs.io/en/latest/advanced-configuration/Listener-modules/
Вы даже можете настроить сервер на отправку ping-кадров WebSocket, указав опцию {ping_rate, ValueInMilliSeconds
}