События ошибок на стороне браузера фактически связаны с «кодами закрытия», используемыми протоколом WebSocket, , как подробно описано в разделе 11.7 к RFC .
Вы можете найти зарегистрированные коды закрытия WebSocket здесь .
В дополнение к указанным ошибкам на стороне сервера клиент также генерирует некоторые ошибки синтаксического анализа и ошибки протокола (такие как требования UTF-8 ) ... которые часто отображаются в коде закрытия ( UTF-8 отображается на код 1003).
AFAIK, эти коды ошибок замыкания фактически отправляются обратному вызову onclose
как часть события close
. (т.е. close_event.code
). Однако, согласно MDN, когда замыкание не является нормальным (код 1000), обратный вызов onerror
равен , также , называемый .
Лично я никогда ничего не тестировал и не кодировал с помощью этих кодов ошибок, поскольку они ненадежны и необязательны :
При закрытии установленного соединения (например, при отправке кадра закрытия после завершения рукопожатия при открытии) конечная точка МОЖЕТ указывать причину закрытия.
Предоставление этих «кодов ошибок» необязательно по причине. Отправка кодов ошибок с сервера клиенту / приложению может (потенциально) выявить уязвимости безопасности.