Перейти к содержанию

Настройки контроля Websocket-соединения

Максимальное время установки соединения

При создании сессии можно указать максимальное время на установку Websocket соединения. Для этого необходимо передать значение timeout в миллисекундах в функцию createSession:

var url = "wss://test.flashphoner.com:8443";
var tm = 1000;

Flashphoner.createSession({urlServer: url, timeout: tm}).on(SESSION_STATUS.ESTABLISHED, function (session) {
    ...
});

Если сервер не отвечает в течение указанного времени, клиент получает событие SESSION_STATUS.FAILED.

Настройки обмена контрольными пакетами

Для контроля успешно установленного Websocket соединения сервер периодически отправляет пинг пакеты, по умолчанию раз в 5 секунд. Клиент, получив пинг пакет, должен ответить серверу понг пакетом.

Если клиент не получил заданное количество пингов подряд, соединение считается прерванным и должно быть закрыто. Если сервер не может отправить пинги или не получил 10 (по умолчанию) понгов подряд, соединение считается прерванным и должно быть закрыто.

Максимальное количество пингов настраивается на сервере, например

keep_alive.probes=5

В этом случае на стороне клиента должна быть выставлена соответствующая опция при создании сессии

Flashphoner.createSession({urlServer: url, receiveProbes: 5}).on(SESSION_STATUS.ESTABLISHED, function (session) {
    ...
});

Интервал отправки пингов настраивается на сервере параметром

keep_alive.server_interval=5000

В этом случае на стороне клиента должна быть выставлена соответствующая опция при создании сессии

Flashphoner.createSession({urlServer: url, pingInterval: 5000}).on(SESSION_STATUS.ESTABLISHED, function (session) {
    ...
});