EventTarget - comet-соединение с http-сервером

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

class EventSource(url)

Наследник EventTarget

onerror

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

onmessage

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

onopen

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

readyState

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

  • CONNECTING = 0, Идет ус­та­нов­ка со­еди­не­ния, или со­еди­не­ние бы­ло за­кры­то и объ­ект EventSource пы­та­ет­ся вос­ста­но­вить его.
  • OPEN = 1, Со­еди­не­ние ус­та­нов­ле­но и го­то­во к прие­му со­бы­тий.
  • CLOSED = 2, Со­еди­не­ние бы­ло за­кры­то ли­бо вы­зо­вом ме­то­да close(), ли­бо в ре­зуль­та­те фа­таль­ной ошиб­ки, не по­зво­ляю­щей вос­ста­но­вить его.
url

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

close()

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