Bonjour,

Je suis en train de découvrir les Server-Sent Events (SSE) pour faire du push. Or je n'arrive pas à obtenir un simple affichage d'un message.

Mon code JS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
var sse = new EventSource('12_eventsource.php');
 
sse.addEventListener('message', function(event) {
    console.log(event.data);
}, false);
 
// J'ai aussi essayé avec :
sse.onmessage = function(event) {
    console.log(event.data);
}
 
sse.addEventListener('open', function(event) {
    console.log('Connection is opened');
}, false);
 
sse.addEventListener('error', function(event) {
    if (event.readyState == EventSource.CLOSED) {
        console.log('Connection was closed');
    }
}, false);
Mon code php (encodé en UTF-8) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
echo 'data : ' . time() . PHP_EOL;

J'ai bien le log de l'event open, mais pas les autres.
J'ai testé sous Firefox et Chromium, d'après Caniuse et MDN ces deux navigateurs supportent bien le SSE.

Voyez-vous ce qui cloche dans ce code ?

Merci pour votre aide.