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.
* Some parts of this feature may have varying levels of support.
Объект 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