WebSocket
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Объект WebSocket
предоставляет API для создания и управления WebSocket-соединением с сервером, а также для отправки и получения данных через это соединение.
Для создания WebSocket
используйте конструктор WebSocket()
.
Примечание: Эта возможность доступна в Web Workers.
Конструктор
WebSocket()
-
Возвращает созданный объект
WebSocket
.
Свойства экземпляра
WebSocket.binaryType
-
Тип используемых в соединении бинарных данных.
WebSocket.bufferedAmount
Только для чтения-
Количество байтов данных в очереди.
WebSocket.extensions
Только для чтения-
Расширения, выбранные сервером.
WebSocket.protocol
Только для чтения-
Подпротокол, выбранный сервером.
WebSocket.readyState
Только для чтения-
Текущее состояние соединения.
WebSocket.url
Только для чтения-
Абсолютный URL-адрес WebSocket.
Методы экземпляра
WebSocket.close()
-
Закрывает соединение.
WebSocket.send()
-
Добавляет в очередь данные для отправки.
События
Подписывайтесь на события с помощью addEventListener()
или присвоением обработчика события свойству oneventname
этого интерфейса.
close
-
Возникает, когда соединение с
WebSocket
закрыто. Также доступно через свойствоonclose
error
-
Возникает, когда соединение с
WebSocket
было закрыто из-за ошибки, например, когда не удалось отправить какие-то данные. Также доступно через свойствоonerror
. message
-
Возникает, когда через
WebSocket
получены данные. Также доступно через свойствоonmessage
. open
-
Возникает, когда соединение с
WebSocket
открыто. Также доступно через свойствоonopen
.
Примеры
// Создание WebSocket-соединения.
const socket = new WebSocket("ws://localhost:8080");
// Соединение открыто
socket.addEventListener("open", (event) => {
socket.send("Hello Server!");
});
// Получение сообщений
socket.addEventListener("message", (event) => {
console.log("Message from server ", event.data);
});
Спецификации
Specification |
---|
WebSockets Standard # the-websocket-interface |
Совместимость с браузерами
BCD tables only load in the browser