Книга: JavaScript. Подробное руководство, 6-е издание

EventSource

EventSource

Comet-соединение c HTTP-сервером (EventTarget)

Объект EventSource представляет долгоживущее HTTP-соединение, посредством которого веб-сервер может отправлять клиенту текстовые сообщения. Чтобы использовать события, определяемые стандартом «Server-Sent Events», следует передать URL-адрес сервера конструктору EventSourсе() и затем зарегистрировать обработчик события «message» в полученном объекте EventSource.

Спецификация «Server-Sent Events» появилась совсем недавно и на момент написания этих строк поддерживалась не во всех броузерах.

Конструктор

new EventSource(string url)

Создает новый объект EventSource, подключенный к веб-серверу, определяемому аргументом url. Адрес url интерпретируется относительно URL-адреса документа.

Константы

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

unsigned short CONNECTING = 0

Идет установка соединения, или соединение было закрыто и объект EventSource пытается восстановить его.

unsigned short OPEN = 1

Соединение установлено и готово к приему событий.

unsigned short CLOSED = 2

Соединение было закрыто либо вызовом метода close(), либо в результате фатальной ошибки, не позволяющей восстановить его.

Свойства

readonly unsigned short readyState

Состояние соединения. Возможные значения определяются константами, перечисленными выше.

readonly string url

Абсолютный URL-адрес, к которому подключен объект EventSource.

Методы

void close()

Закрывает соединение. После вызова этого метода объект EventSource не может больше использоваться. Если потребуется вновь установить соединение, следует создать новый объект EventSource.

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

Сетевые взаимодействия выполняются асинхронно, поэтому объект EventSource возбуждает события после открытия соединения, при появлении ошибок и при получении сообщений от сервера. Обработчики событий можно зарегистрировать с помощьк? перечисленных далее свойств или воспользовавшись методами интерфейса EventTarget. Все события, генерируемые объектом EventSource, посылаются самому объекту EventSource. Они не всплывают, и для них не предусмотрены действия по умолчанию, которые можно было бы отменить.

onerгог Вызывается при обнаружении ошибки. Обработчику передается простой объект Event.

onmessage Вызывается при получении сообщения от сервера. Обработчику передается объект события MessageEvent, а текст, отправленный сервером, доступен через свойство data этого объекта.

оnореп Вызывается при открытии соединения. Обработчику передается простой объект Event.

Оглавление книги


Генерация: 1.164. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз