JavaScript. Подробное руководство, 6-е издание (Флэнаган) - страница 940

Отправлять текстовые данные на сервер можно с помощью метода >send(), а принимать сообщения от сервера - с помощью обработчика событий «message». Дополнительные сведения приводятся в разделе 22.9.

Веб-сокеты - это новый прикладной интерфейс для веб-приложений; на момент написания этих строк поддерживался не всеми броузерами.


Конструктор

>new WebSocket(string url, [string[] protocols])

Конструктор >WebSocket() создает новый объект >WebSocket и запускает (асинхронный) процесс установления соединения с сервером, поддерживающим протокол веб-сокетов. Аргумент url определяет сервер, с которым требуется установить соединение, и должен быть абсолютным URL-адресом с URL-схемой ws:// или wss://. Аргумент protocols - это массив названий подпротоколов. С помощью этого аргумента клиент может сообщить серверу, какие версии протоколов он поддерживает. Сервер должен выбрать один из них и информировать клиента о своем выборе в процессе установления соединения. В аргументе protocols можно также передать строку, а не массив: в этом случае значение аргумента будет интерпретироваться как массив с единственным элементом.


Константы

Следующие константы определяют допустимые значения свойства >readyState.

>unsigned short CONNECTING = 0

Продолжается выполнение процедуры установления соединения.

>unsigned short OPEN = 1

Объект >WebSocket соединен с сервером; можно отправлять и принимать сообщения.

>unsigned short CLOSING = 2

Соединение закрывается.

>unsigned short CLOSED = З

Соединение закрыто.


Свойства

>readonly unsigned long bufferedAmount

Количество символов сообщения, переданного методу >send(), которые еще не были отправлены фактически. Это свойство можно использовать при передаче больших объемов данных, чтобы гарантировать, что программа не будет отправлять сообщения быстрее, чем они могут быть переданы по сети.

>readonly string protocol

Если конструктору >WebSocket() был передан массив подпротоколов, это свойство будет хранить один из них, выбранный сервером. Обратите внимание, что в первый момент после создания объекта >WebSocket соединение еще не установлено и выбор сервера неизвестен, поэтому первоначально это свойство содержит пустую строку. Если конструктору был передан список протоколов, значение этого свойства изменится в соответствии с выбором сервера, когда будет сгенерировано событие «open».

>readonly unsigned short readyState

Текущее состояние соединения. Значением этого свойства может быть одна из констант, перечисленных выше.

>readonly string url

Это свойство хранит URL-адрес, который был передан конструктору