WebSocket

Объект 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

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