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


Методы

>void close()

Если соединение еще не закрыто или для него еще не была запущена процедура закрытия, этот метод инициирует процесс его закрытия и присваивает свойству >readyState значение CLOSING. События «message» могут продолжать возбуждаться даже после вызова метода >close(), пока свойство >readyState не получит значение CLOSED и не будет возбуждено событие «close».

>void send(string data)

Отправляет данные >data на сервер, подключенный к другому концу соединения. Этот метод возбуждает исключение, когда вызывается до того, как будет сгенерировано событие «open», т.е. пока свойство >readyState имеет значение CONNECTING. Протокол веб-сокетов поддерживает обмен двоичными данными, но на момент написания этих строк текущая версия прикладного интерфейса веб-сокетов поддерживала только текстовые сообщения.


Обработчики событий

Сетевые взаимодействия по своей природе являются асинхронными, и, подобно объекту >XMLHttpRequest, объект >WebSocket также опирается на использование событий. Он определяет четыре свойства регистрации обработчиков событий, а также реализует интерфейс >EventTarget, благодаря чему обработчики событий можно также регистрировать с помощью методов интерфейса >EventTarget. Все события, описываемые ниже, возбуждаются в объекте >WebSocket. Ни одно из них не всплывает, и ни для одного из них не предусмотрено действий по умолчанию, которые можно было бы отменить. Отметьте, однако, что им передаются различные объекты событий.

>onclose

Событие «close» генерируется после закрытия соединения (и свойство >readyState получит значение CLOSED). Обработчику события передается объект >CloseEvent, который определяет, было соединение закрыто без ошибок или нет.

>onerror

Событие «error» генерируется, когда возникает сетевая ошибка или ошибка протокола веб-сокетов. Обработчику события передается обычный объект >Event

>onmessage

Когда сервер отправляет данные через веб-сокет, объект >WebSocket возбуждает событие «message» и передает обработчику объект >MessageEvent, свойство >data которого ссылается на принятое сообщение.

>onopen

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

Window

окно, вкладка или фрейм веб-броузера (EventTarget)


Объект >Window представляет окно, вкладку или фрейм в броузере. Он подробно описан в главе 14. В клиентском JavaScript-коде объект