JavaScript метод WebSocket.close()
JavaScript WebSocketОпределение и применение
JavaScript метод close() объекта WebSocket позволяет закрыть подключение, или заканчивает попытку подключения.
Обращаю Ваше внимание на то, что если соединение уже закрыто, этот метод ничего не делает.
Поддержка браузерами
Метод | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|
close() | Да | Да | Да | Да | 10.0 | Да |
JavaScript синтаксис:
WebSocket.close(); WebSocket.close(code); WebSocket.close(code, reason); code - Integer reason - String
Cпецификация
WebSocketЗначения параметров
Параметр | Описание |
---|---|
code | Числовое значение, указывающее код состояния, объясняющее, почему соединение закрывается. Если этот параметр не указан, предполагается значение по умолчанию 1005 (Указывает, что код состояния не был предоставлен, хотя ожидался). Полный перечень доступных кодов состояния CloseEvent доступен по ссылке. Необязательный параметр. |
reason | Строковое значение, объясняющее почему соединение закрывается. Эта строка не должна превышать 123 байта текста UTF-8 (не символов). Необязательный параметр |
Исключения
Тип исключения | Описание |
---|---|
INVALID_ACCESS_ERR | Возникает в том случае, если указан недопустимый код (значение параметра code). |
SYNTAX_ERR | Возникает в том случае, если данные представляют из себя строку, которая содержит непарные суррогаты или слишком длинная (превышает 123 байта). |
Пример использования
// создаем WebSocket подключение const socket = new WebSocket("ws://localhost:8080"); // устанавливаем обработчик событий, вызываемый при открытии соединения socket.onopen = function(event) { socket.send("соединение с сервером установлено"); // отправляем определенные данные в формате JSON socket.send(JSON.stringify(data)); }; // устанавливаем обработчик событий, вызываемый при получении сообщения от сервера socket.onmessage = function(event) { console.log("сообщение от сервера получено", event.data); } // устанавливаем обработчик событий, вызываемый при ошибке socket.onerror = function(event) { console.error("Ошибка WebSocket"); socket.close(); // закрываем подключение к серверу } // устанавливаем обработчик событий, вызываемый при закрытии соединения socket.onclose = function(event) { socket.send("соединение с сервером завершено"); }JavaScript WebSocket