Клиент веб-сокета HTML5 не обнаруживает неожиданное отключение сервера - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть система, в которой html5-клиент WebSocket подключается к серверу ws.js WebSocket. В настоящее время ws.js имеет встроенную систему пинг-понга для периодической проверки того, что клиенты по-прежнему подключены и активны. Если клиент неожиданно выходит из строя, сервер может принудительно закрыть его и очистить соединение.

Однако, если сервер WebSocket неожиданно отключается. Клиент html5 не получает событие onclose.

Есть ли способ обнаружить (предпочтительно управляемый событиями) неожиданный сбой сервера WebSocket, чтобы клиент мог запустить свою функцию onclose?

У меня есть «работающее» на данный момент решение за счет реализации моего собственного механизма пинг / понга. Тем не менее, я бы предпочел, чтобы это было больше ориентировано на события. Спасибо, опрос.

Спасибо всем, кто может помочь :)

1 Ответ

0 голосов
/ 07 ноября 2019

Если сервер веб-сокетов не отправляет сообщение CLOSED или CLOSING readyState из-за, например, сбоя в сети, событие не обнаружит этого. пинг / понг - правильный способ справиться с этим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...