FAQ по KeepAlive

Добрый день, заранее прошу прощения за тупой, быть может вопрос, но все же подскажите, пожалуйста, где бы в документации почитать про KeepAlive. То, что написано тут, как-то не очень придает понимания: https://flashphoner.com/docs/wcs5/wcs_docs/html/en/wcs-admin-guide/

Чем различаются алгоритмы для сервера и что это за параметры: keep_alive.peer_interval и keep_alive.server_interval - это милесекунды? Т.е. 5000 см = 5 сек?

Спасибо
 

Max

Administrator
Staff member
server.properties

Code:
keep_alive.algorithm       =HIGH_LEVEL
HIGH_LEVEL - это обычные текстовые сообщения поверх протокола.
Например, поверх протокола Websocket явно передаётся текстовое сообщение "ping" от сервера браузеру, а браузер отвечает текстовый "pong".
Такие текстовые пин-понги хорошо видно в Developer Tools - Network в Chrome, когда есть коннект с сервером.

ping-pong-hight-level-keep-alive.jpg

INTERNAL - это кипаливы внутри протокола. По спецификации, внутри протокола формируется специальный набор байт, который означает "ping" и в ответ от браузера приходит набор байт, который означает "pong". Чтобы увидеть эти пакеты нужно уже разбирать трафик на уровне пакетов. У каждого из протоколов RTMP, RTMFP, Websocket есть такие встроенные механизмы.

NONE - кипаливы отключены.

Code:
keep_alive.peer_interval=2000
Не используется.

Code:
keep_alive.server_interval =5000
Интервал в миллисекундах с которым выполняются проверки и происходит пинг-понг. Т.е. каждые 5 секунд.

Code:
keep_alive.probes=10
Количество неудачных попыток, после которого коннект считается потерянным и сервер производит дисконнект с освобождением всех относящихся к этому коннекту ресурсов.

Code:
keep_alive.enabled=websocket,rtmp,rtmfp
Для каких протоколов включены кипаливы. По-умолчанию для всех.
Например, при стриминге с ffmpeg по RTMP можно выключить кипаливы для RTMP, если ffmpeg отваливается: keep_alive.enabled=websocket,rtmfp
Тогда они будут работать только для плееров.
 
Top