Контроль целостности websocket соединения с сервером¶
В сборке 2.0.194 добавлена возможность контролировать целостность websocket соединения с сервером. WCS сервер периодически (по умолчанию каждые 5 секунд) присылает ping пакеты. На стороне SFU SDK эти пакеты принимаются и подсчитываются. Если больше заданного количества пакетов подряд было пропущено, предполагается, что соединение с сервером потеряно, и клиенту возвращается событие SfuEvent.CONNECTION_FAILED
.
Настройка параметров контроля в конфигурационном файле config.json
¶
Если пример поддерживает загрузку параметров из конфигурационного файла config.json
, максимальное количество пропущенных ping пакетов и интервал проверки могут быть настроены в файле:
Здесь:
failedProbesThreshold
- максимальное число пропущенных подряд ping пакетов от сервераpingInterval
- интервал проверки числа пропущенных ping пакетов в мс
Настройка параметров контроля на уровне исходного кода¶
-
Формирование объекта
roomConfig
code
let roomConfig = { url: config.room.url || "ws://127.0.0.1:8080", roomName: config.room.name || "ROOM1", pin: config.room.pin || "1234", nickname: config.room.nickName || "User1" }; if (config.room.failedProbesThreshold !== undefined) { roomConfig.failedProbesThreshold = config.room.failedProbesThreshold; } if (config.room.pingInterval !== undefined) { roomConfig.pingInterval = config.room.pingInterval; }
-
Установка соединения и создание комнаты
code
-
Обработка события
SfuEvent.CONNECTION_FAILED
code
Отключение контроля на стороне клиента¶
В некоторых случаях отправка ping пакетов может быть отключена на стороне сервера
На стороне клиента при этом проверка также должна быть отключена