1/ Les sockets. Le port reliant le serveur aux clients reste ouvert, et on peut alors faire du "push": lorsqu'un client envoie un message sur le serveur, celui-ci le renvoie aux autres clients. Magique, mais pas simple a implémenter.
2/ Plus simple: stocker les messages envoyés dans un simple fichier texte au lieu d'une bdd, ce fichier étant régulièrement consulté par tous les clients qui veulent recevoir les updates. Dans le sfaits, pour les chats actifs, le fichier texte est moins violent pour le serveur que la bdd, donc en soit c'est pas une mauvaise idée.