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.

EventTarget WebSocket

Конструктор

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.

Примеры

js
// Создание 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

Смотрите также