HTML5 Server sent events

Tags:    html5 sse

Hej. Jeg sidder her og kigger lidt på HTML SSE # http://www.w3schools.com/html/html5_serversentevents.asp

Og så tænker jeg lidt, hvad er det her for noget?
For mig der ligner det bare at det er en slags ajax request der kører hvert 3 sec.

Er dét det? For så kan jeg nemlig ikke se nogle grund til at eksperimentere i det.



9 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Endnu en grund til ikke at stole på noget fra W3Schools :)

Server-sent events gør det muligt for serveren at sende beskeder (events) til klienten, uden (og dette er den store forskel), at klienten har bedt om det. I normal klient-server kommunikation, er det altid klienten der sender en forespørgsel til serveren, og serveren svarer herefter på denne request. Med server-sent events, er det muligt for serveren at "pushe" beskeder til klienten. Dette er enormt brugbart i fx chat-klienter, og andre real-time kommunikationssituationer.

AJAX requests er initialiseret af klienten, SSE af serveren.



prøvede lige deres eks

test.html
Fold kodeboks ind/udKode 


demo_sse.php
Fold kodeboks ind/udKode 


og det virker i FF, men lig mærke til det virker ikke i IE, så hvor smart er det ??




har ikke selv rodet med SSE før så her er nogle link jeg lige skal kigge på
http://stackoverflow.com/questions/9915358/how-to-update-clients-schedule-using-html5-server-sent-events
http://stackoverflow.com/questions/9070995/html5-server-sent-events-prototyping-ambiguous-error-and-repeated-polling
http://dev.w3.org/html5/eventsource/

ref http://www.html5rocks.com/en/tutorials/eventsource/basics/

Controlling the Reconnection-timeout
The browser attempts to reconnect to the source roughly 3 seconds after each connection is closed. You can change that timeout by including a line beginning with "retry:", followed by the number of milliseconds to wait before trying to reconnect.
The following example attempts a reconnect after 10 seconds:
retry: 10000\n
data: hello world\n\n


ref https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events

Event stream format
The event stream is a simple stream of text data, which must be encoded using UTF-8. Each message is separated by a pair of newline characters. A colon as the first character of a line is, in essence, a comment, and is ignored.


men dette er nøglen
header("Content-Type: text/event-stream\n\n");

men der er også grænser for hvorlænge den vil genoptage fobindelsen





Ronny, du har ret i at IE har en stor markedsandel, og at man i mange tilfælde er nød til at respektere det, men hvis dine læsere fx hovedsagligt er tech-folk, kan man formentlig forvente at de fleste benytter en anden browser end IE. Yderligere: Jo flere der leger med de nye API's og laver spændende ting, jo mere presset bliver folkene bag IE til at implementere det!



De bruger det eksempel her:
Fold kodeboks ind/udPHP kode 


Kan ikke lige finde ud af hvordan den sender noget som helts.



Ja, hvordan kan php filen få source.onmessage til at kører.
Forstår jeg altså ikke.



Tusind tak, gode artikler du har fundet :)



prøvede lige deres eks

test.html
Fold kodeboks ind/udKode 


demo_sse.php
Fold kodeboks ind/udKode 


og det virker i FF, men lig mærke til det virker ikke i IE, så hvor smart er det ??


Der er jo intet der virker i IE



nej IE er på en del punkter fodslæbende, og andre punkter først med det nye, som de mener skal være std.
ordet std kan skifte fra vertion til vertion af IE. Der er std og så er der M$
men vi er desværre nød til at tage hensyn til de 43% (IE8,9,10)* der anvender IE
* http://fdim.dk/statistik/teknik/browserbarometer




t