JavaScript интерфейс WebSocket
Web Socket APIОписание интерфейса
WebSocket является основным интерфейсом для осуществления подключения к серверу WebSocket и последующей отправки и получения данных о подключении.
Протокол WebSocket это независимый протокол, основанный на протоколе TCP (англ. Transmission Control Protocol - протокол управления передачей), он делает возможным более тесное взаимодействие между браузером и веб-сайтом, способствуя распространению интерактивного содержимого и созданию приложений реального времени.
Протокол WebSocket определяет две URI (англ. Uniform Resource Identifier - унифицированный (единообразный) идентификатор ресурса) схемы:
- ws: (нешифрованное соединение)
- wss: (шифрованное соединение)
Синтаксис конструктора объекта
let webSocket = new WebSocket(uri); let webSocket = new WebSocket(uri, protocols); uri - String protocols - String или Array
Значение параметров
Параметр | Описание |
---|---|
uri | URL адрес, к которому нужно подключиться (сервер WebSocket). Обязательный параметр. |
protocols | Одна строка протокола, либо массив строк протокола, которые используются для указания вложенных протоколов, чтобы один сервер мог реализовать несколько вложенных протоколов WebSocket (например, может потребоваться, чтобы один сервер мог обрабатывать различные типы взаимодействий в зависимости от указанного протокола). Если строка протокола не указана, предполагается, что она пуста. Необязательный параметр. |
Исключения
Тип исключения | Описание |
---|---|
SECURITY_ERR | Возникает в том случае, если порт, к которому выполняется попытка подключения был заблокирован. |
Константы
Константа | Значение | Описание |
---|---|---|
WebSocket.CONNECTING | 0 | Соединение ещё не открыто. |
WebSocket.OPEN | 1 | Соединение открыто и готово к обмену данными. |
WebSocket.CLOSING | 2 | Соединение в процессе закрытия. |
WebSocket.CLOSED | 3 | Соединение закрыто или не может открыться. |
Методы интерфейса
Метод | Описание | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|---|
close() | Позволяет закрыть подключение, или заканчивает попытку подключения. | Да | Да | Да | Да | 10.0 | Да |
send() | Позволяет передать данные на сервер через WebSocket соединение. | Да | Да | Да | Да | 10.0 | Да |
Свойства интерфейса
Свойство | Описание | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
---|---|---|---|---|---|---|---|
binaryType | Определяет тип двоичных данных, используемых соединением. | Да | Да | Да | Да | 10.0 | Да |
bufferedAmount | Число байтов данных в очереди. | Да | Да | Да | Да | 10.0 | Да |
extensions | Расширения, выбранные сервером. | Да | Да | Да | Да | 10.0 | Да |
onclose | Обработчик событий, вызываемый при закрытии соединения. | Да | Да | Да | Да | 10.0 | Да |
onerror | Обработчик событий, вызываемый при ошибке. | Да | Да | Да | Да | 10.0 | Да |
onmessage | Обработчик событий, вызываемый при получении сообщения от сервера. | Да | Да | Да | Да | 10.0 | Да |
onopen | Обработчик событий, вызываемый при открытии соединения. | Да | Да | Да | Да | 10.0 | Да |
protocol | Вложенный протокол, выбранный сервером. | Да | Да | Да | Да | 10.0 | Да |
readyState | Текущее состояние соединения. | Да | Да | Да | Да | 10.0 | Да |
url | Абсолютный URL адрес WebSocket. | Да | Да | Да | Да | 10.0 | Да |