HTML5+-+SSE

//Претходно://Интернет работници //Следно : // Користена Литература // Почетoк: // HTML5 Tуторијал

SSE (Server-Sent Events) му овозможуваат на Интернет страната да добие ажурирања од некој сервер.

SSE - Испраќање пораки во една насока
Еден Настан се испраќа од некој сервер кога Интернет страната автоматски добива ажурирања од серверот. Ова беше возможно и претходно, но Интернет страната треба да праша дали некои ажурирања се достапни. Со SSE ажурирањата доаѓаат автоматски. Примери: Facebook/Twitter ажурирања, нови известувања, спортски резултати и слично.

Добивање SSE Известување
Објектот EventSource се користи за добивање на SSE Известувања:

__Пример__
<!DOCTYPE html> Getting server updates if(typeof(EventSource)!=="undefined") { var source=new EventSource("demo_sse.php"); source.onmessage=function(event) { document.getElementById("result").innerHTML+=event.data + " "; }; }  else { document.getElementById("result").innerHTML="Sorry, your browser does not support server-sent events..."; }

Објаснување на примерот:

 * Креирај нов EventSource Објект и специфицирај го URL на страната која испраќа ажурирања (во овај пример "demo_sse.php").
 * Секогаш кога ќе пристигне ново ажурирање, се извршува настанот onmessage.
 * Кога ќе се изврше настанот onmessage, стави ги добиените податоци во елементот со id="result".

Проверка на SSE Поддршката
Во примерот кој е наведен погоре има наведено некои дополнителни линии на код за проверка на поддршката на пребарувачот за SSE: if(typeof(EventSource)!=="undefined") { //Yes! Server-sent events support!// Some code..... } else { // Sorry! No server-sent events support.. }

Пример за Код од страна на Серверот, SSC (Server-side Code)
За претходно наведениот пример да работи, потребен е сервер кој е способен за испраќање на податочни ажурирања (како што е PHP или ASP). Синтаксата на настанот од страната на серверот е едноставна. Постави го заглавието "Content-Type" во "text/event stream". По направените промени може да се започне со испраќање на стримови од настани.


 * Код во PHP (demo_sse.php):**

<% Response.ContentType="text/event-stream" Response.Expires=-1 Response.Write("data: " & now) Response.Flush %>
 * Код во ASP (VB) (demo_sse.asp):**

Објаснување на кодот:

 * Постави го заглавието "Content-Type" во "text/event stream".
 * Специфицирај дека страната не треба да кешира.
 * Излез на податоците за испраќање (Секогаш започни со "data:").
 * Ослободи ги излезните податоци назад до Интернет страната.

Објектот EventSource
Во примерот погоре се користи настанот onmessage за добивање на пораки. Но исто така се достапни и други настани:
 * **Ознака** ||  **Опис**  ||
 * оnopen || Kога врската со серверот е отворена. ||
 * onmessage || Koга пораката е примена ||
 * onerror || Кога ќе се случи грешка ||

//Претходно:// Интернет работници // Следно: // Користена Литература // Почетoк: // HTML5 Tуторијал