Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicit� Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
HTML5 SSE, un esempio pratico
Scritto da Andrea Chiarelli il 05-03-2013 ore 15:55
Intel Code Modernization Workshops 2016
Tra le diverse novit introdotte da HTML5 nella programmazione Web da segnalare il supporto dei Server Sent Events, cio di eventi generati dal server su cui un un browser pu rimanere in ascolto. In altre parole si tratta di un meccanismo per implementare un approccio push di notifiche dal server.
Comunemente, infatti, un client JavaScript che ha bisogno di dati provenienti dal server non pu far altro che richiederli periodicamente in maniera esplicita, effettuando cio un polling. Questo approccio ha degli inevitabili difetti: la frequenza delle richieste genera del traffico inutile, contribuisce al sovraccarico del server e non garantisce l'acquisizione dell'informazione in tempo reale.

I Server Side Events di HTML5 consentono di ottenere dati dal server in tempo reale evitando gli aspetti negativi del polling. L'approccio abbastanza semplice, come viene mostrato in un articolo pubblicato su CodeGuru.
Sul lato client sufficiente creare un EventSource che punta ad una pagina Web opportunamente realizzata e gestire gli eventi di apertura della connessione, di arrivo dei messaggi dal server e di errore, come mostrato nel seguente stralcio di codice JavaScript:
  1. var source = new EventSource('SSEHandler.ashx');
  2. source.addEventListener("open", function (event) {...}, false);
  3. source.addEventListener("error", function (event) {...}, false);
  4. source.addEventListener("message", function (event) {...}, false);
Sul lato server occorrer creare una pagina o un altro componente che generi del contenuto classificato con il MIME type text/event-stream e strutturato tramite il seguente schema:
  1. data:dati da inviare al client
L'esempio riportato nell'articolo citato basato su un applicazione server in ASP.NET, ma abbastanza semplice riportare questi concetti in altri ambienti come ad esempio PHP o node.js.
Precedente: Sconto del 10% ai lettori per phpDay e jsDay
Successiva: Ottimizzare il Web per il mobile
Copyright Programmazione.it™ 1999-2016. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.114 secondi.