salut
je découvre récemment les SSE, mais n'étant pas à la base programmeur web, j'aimerais un peu t'aide afin de mieux comprendre et optimiser mes scripts
en suivant quelques tuto, je suis arrivé à cet exemple :
j'ai supprimé "close" afin de ne pas arrêter le processus
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
22
23
24
25 <?php header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); for($i=1;$i<=3;$i++) { send('showStatus',$i); } //send('close','null'); function send($event,$data) { // echo str_repeat(' ',1024*64)."\n"; echo 'event: '.$event."\n".'data: '.$data."\n\n"; @ob_flush(); flush(); } ?>
ici, dans le navigateur il est affiché "12345" puis au bout de 3 secondes encore "12345" ainsi de suite ...
j'ai plusieurs questions :
1/ comment fonctionne en général les SSE ? je ne demande pas un tuto, mais juste de m'expliquer comment les événements se succèdent ... ici par exemple je suis étonné de voir qu'après 3 sec la boucle redémarre ! dans mon future projet, je veux justement répéter une action, mais je pensais devoir la mettre dans une boucle while(1) ?
2/ pourquoi l'auteur utilise str_repeat ? pourquoi ajoute t il autant d'espace ? et @ob_flush() ? puis flush ? je pensais qu'il suffisait d'envoyer "event :" et "data :"
3/ j'ai vu des headers avec "keep alive" à quoi ça sert ? et surtout quand l'utiliser ?
je vous remercie d'avance pour votre aide
Partager