L'idée est de lancer une XMLhttpRequest puis de boucler sur le serveur "indéfiniement", et de mettre "en attente" le client grâce à un status==100.
En effet, le serveur grâce à Content-Length va dire au client que le contenu (texte) pèse par exemple 4 Go et qu'on va lui filer par petits bouts.
L'effet produit est que le client écoute le serveur.
L'intérêt est de cheminer dans l'inverse d'une méthode XmlhttpRequest grâce à la même méthode. On évite les connexions/déconnexions incessantes.
En théorie, cela ne bouffe rien tant que le serveur n'envoie rien.
Prenons une application pour exemple : un chat.
On ne stockera les messages ni sur une base de donnée, ni dans des fichiers mais dans la mémoire du serveur.
Chacun des utilisateurs lance sa connexion permanente et boucle sur le serveur mais aussi sur l'interface cliente.
A l'envoi d'un message par un des participants, le serveur reçoit donc le message.
Là où je coince est dans le passage du message aux autres participants. Je ne sais absolument pas comment procéder syntaxiquement. Je ne trouve pas de doc là dessus.
Oui, c'est possible car le serveur connait les autres participants qui sont en train de le harceler. PHP est assez puissant pour pouvoir faire ça..
Partager