Ответ 1
Закрыть код 1006
- это специальный код, который означает, что соединение было анонимно (локально) закрыто реализацией браузера.
Если ваш клиент-клиент браузера закрывает код 1006
, вам следует посмотреть событие websocket.onerror(evt)
для получения более подробной информации.
Тем не менее, Chrome редко сообщают обо всех закрытых кодах 1006 аргументов стороне javascript. Вероятно, это связано с правилами безопасности клиента в спецификации WebSocket, чтобы предотвратить злоупотребление websocket. (например, использовать его для сканирования открытых портов на целевом сервере или для создания множества подключений для атаки "отказ в обслуживании" ).
Обратите внимание, что Chrome будет часто сообщать о закрытом коде 1006
, если во время HTTP-обновления до Websocket есть ошибка (это шаг до того, как веб-сайт технически "подключен" ). По причинам, таким как плохая аутентификация или авторизация или использование плохого протокола (например, запрос подпротокола, но сам сервер не поддерживает этот же подпротокол) или даже попытка поговорить с местоположением сервера, которое не является веб-узлом (например, например, попытка подключения к ws://images.google.com/
)
В принципе, если вы видите закрытый код 1006
, у вас очень низкая ошибка уровня с самим websocket (аналогично "Unable to Open File" или "Socket Error" ), не предназначенная для пользователя, так как это указывает на проблему низкого уровня с вашим кодом и реализацией. Исправьте проблемы с низким уровнем, а затем, когда вы подключены, вы можете включить более разумные коды ошибок. Вы можете выполнить это с точки зрения объема или серьезности вашего проекта. Пример: информация и уровень предупреждения являются составной частью вашего конкретного проекта и не приводят к завершению соединения. С серьезными или фатальными сообщениями, сообщающими также с использованием вашего протокола проекта, чтобы передать как можно больше деталей, а затем закрыть соединение, используя ограниченные возможности тесного потока websocket.
Помните, что коды закрытия WebSocket очень строго определены, а фраза/сообщение с закрытой причиной не может превышать 123 символа (это преднамеренное ограничение на веб-расписание).
Но не все потеряно, если вы просто хотите эту информацию для отладки, подробно о закрытии и о своей основной причине часто сообщается с большим количеством подробностей в консоли javascript Chrome.