Aller au contenu principal

Un article tagués avec « realtime »

Voir tous les tags

Construire une application de chat avec BowPHP + WebSockets

· 7 minutes de lecture
Franck DAKIA
Principal maintainer

BowPHP est un framework requête/réponse — il excelle dans le HTTP : routage, validation, l'ORM Barry, sessions. Ce qu'il ne fournit délibérément pas, c'est un serveur WebSocket à longue durée de vie, car garder un socket ouvert pour chaque visiteur est un travail différent de celui qui consiste à répondre à une requête HTTP puis à passer à autre chose.

La bonne architecture n'est donc pas « faire faire du WebSocket à BowPHP ». C'est plutôt : laisser BowPHP faire ce dans quoi il est excellent — valider et persister les messages, et être la source de vérité — et placer à côté un tout petit serveur socket.io « bête », dont l'unique rôle est de diffuser les messages aux navigateurs connectés en temps réel.

C'est exactement ce que nous allons construire : un petit chat de groupe où BowPHP possède les données et un serveur Node d'une trentaine de lignes possède la connexion en direct.