Evenimente trimise de server în HTML5. Verificare asistența pentru evenimente trimise de server. Exemplu de cod lateral-server). Setare antet „Content-Type” la „text / stream-event”.
Partajeaza in Google Classroom
Memorator: Descriere video Descarcă PDF
În exemplul de mai sus, există câteva linii de cod suplimentare pentru a verifica suportul browserului pentru evenimentele trimise de server:
if(typeof(EventSource) !== "undefined") {
// Da! Suport pentru evenimente trimise de server!
// Un cod .....
} else {
// Scuze! Niciun suport de evenimente trimis de server ..
}
Exemplu de cod lateral-server (Server-Side Code )
Pentru ca exemplul de mai sus să funcționeze, aveți nevoie de un server capabil să trimită actualizări de date (cum ar fi PHP sau ASP).
Sintaxa fluxului de evenimente din partea serverului este simplă. Setați antetul „Content-Type” la „text / stream-event”. Acum puteți începe să trimiteți fluxuri de evenimente.
Cod în PHP (demo_sse.php):
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$time = date('r');
echo "data:Timpul serverului este: {$time}\n\n";
flush();
?>
Cod în ASP (VB) (demo_sse.asp):
<%
Response.ContentType = "text/event-stream"
Response.Expires = -1
Response.Write("data: Timpul serverului este: " & now())
Response.Flush()
%>
Cod explicat:
- Setați antetul „Content-Type” la „text / stream-event”.
- Specificați că pagina nu ar trebui să fie în cache.
- Afișați datele care trebuie trimise (începeți întotdeauna cu „date:”).
- Curățați datele de ieșire înapoi pe pagina web.
Obiectul EventSource
În exemplele de mai sus am folosit evenimentul onmessage pentru a primi mesaje. Dar sunt disponibile și alte evenimente:
Evenimente | Descriere |
---|---|
onopen | Când se deschide o conexiune la server |
onmessage | Când un mesaj este primit |
onerror | Când apare o eroare |