Tags : EventSource, javascript, Server-Sent-Events, SSE

Aujourd'hui, je vais vous parler de Server Sent Events côté client javascript.

Nous allons reprendre le serveur qui envoyait l'heure toutes les secondes codé ici.

L'utilisation d'un flux Server Sent Event se fait par l'intermédiaire de l'objet "EventSource" qui prend comme paramètre dans le constructeur l'url du flux. Cet objet possède une fonction "addEventListener" qui prend en paramètres le type de listener (message pour la réception de nouvelles données) ainsi que la callback.

Si vous êtes comme moi et que vous utilisez angular.js un peu partout, vous savez comment il peut s'avérer complexe de s'intégrer dans son dual binding, mais la méthode $scope.$apply est là pour ça!

Voici donc le résultat final :


Et voilà, c'est pas bien compliqué de faire du temps réel :)

Petit précision, EventSource n'est pas supporté par IE, mais il existe un contournement : github.com/Yaffle/EventSource