JavaScript интерфейс WebSocket

Web Socket API

Описание интерфейса

WebSocket является основным интерфейсом для осуществления подключения к серверу WebSocket и последующей отправки и получения данных о подключении.

Протокол WebSocket это независимый протокол, основанный на протоколе TCP (англ. Transmission Control Protocol - протокол управления передачей), он делает возможным более тесное взаимодействие между браузером и веб-сайтом, способствуя распространению интерактивного содержимого и созданию приложений реального времени.

Протокол WebSocket определяет две URI (англ. Uniform Resource Identifier - унифицированный (единообразный) идентификатор ресурса) схемы:

  • ws: (нешифрованное соединение)
  • wss: (шифрованное соединение)

Синтаксис конструктора объекта

JavaScript
let webSocket = new WebSocket(uri);
let webSocket = new WebSocket(uri, protocols);

uri - String
protocols - String или Array

Значение параметров

ПараметрОписание
uriURL адрес, к которому нужно подключиться (сервер WebSocket). Обязательный параметр.
protocolsОдна строка протокола, либо массив строк протокола, которые используются для указания вложенных протоколов, чтобы один сервер мог реализовать несколько вложенных протоколов WebSocket (например, может потребоваться, чтобы один сервер мог обрабатывать различные типы взаимодействий в зависимости от указанного протокола). Если строка протокола не указана, предполагается, что она пуста. Необязательный параметр.

Исключения

Тип исключенияОписание
SECURITY_ERRВозникает в том случае, если порт, к которому выполняется попытка подключения был заблокирован.

Константы

КонстантаЗначениеОписание
WebSocket.CONNECTING0Соединение ещё не открыто.
WebSocket.OPEN1Соединение открыто и готово к обмену данными.
WebSocket.CLOSING2Соединение в процессе закрытия.
WebSocket.CLOSED3Соединение закрыто или не может открыться.

Методы интерфейса

МетодОписание
close()Позволяет закрыть подключение, или заканчивает попытку подключения.
send()Позволяет передать данные на сервер через WebSocket соединение.

Свойства интерфейса

СвойствоОписание
binaryTypeОпределяет тип двоичных данных, используемых соединением.
bufferedAmountЧисло байтов данных в очереди.
extensionsРасширения, выбранные сервером.
oncloseОбработчик событий, вызываемый при закрытии соединения.
onerrorОбработчик событий, вызываемый при ошибке.
onmessageОбработчик событий, вызываемый при получении сообщения от сервера.
onopenОбработчик событий, вызываемый при открытии соединения.
protocolВложенный протокол, выбранный сервером.
readyStateТекущее состояние соединения.
urlАбсолютный URL адрес WebSocket.
Web Socket API