Sur cette page

Qt WebChannel Exemple de serveur de chat

Un simple serveur de chat implémenté à l'aide de l'API C++ de QWebChannel.

ChatServer fournit un service de chat auquel l'application QMLQt WebChannel ChatClient et l'exemple HTMLQt WebChannel ChatClient peuvent se connecter.

Exécution de l'exemple

Pour exécuter l'exemple à partir de Qt CreatorOuvrez le mode Welcome et sélectionnez l'exemple à partir de Examples. Pour plus d'informations, voir Qt Creator: Tutoriel : Construire et exécuter.

Mise en œuvre d'un serveur de discussion

L'application C++ met en œuvre un objet QObject qui fournit tous les mécanismes nécessaires à un service de dialogue en ligne. Cet objet est publié par l'intermédiaire d'un site QWebChannel qui utilise une WebSocket comme moyen de transport.

Le serveur fournit une méthode de base login (nom d'utilisateur uniquement, pas de mot de passe), qui doit être invoquée avec succès avant qu'un client puisse discuter. Après s'être connecté, un client peut invoquer la méthode sendMessage et recevoir le signal newMessage pour écrire et recevoir des messages. En outre, la propriété userList fournit les noms de tous les autres clients connectés. En outre, le serveur envoie périodiquement un signal keepAlive à tous les clients. Les clients doivent répondre à ce signal, faute de quoi ils seront supprimés de la propriété userList.

L'exemple montre comment les éléments de base de QObject peuvent être utilisés avec QWebChannel, c'est-à-dire les signaux (newMessage), les emplacements (sendMessage) et les propriétés (userList).

Comme il s'agit d'une simple application serveur, des clients distincts sont nécessaires pour interagir avec elle. Qt WebChannel L' application QML ChatClient et l'exemple HTMLQt WebChannel ChatClient sont des implémentations clients compatibles avec ce serveur.

Exemple de projet @ code.qt.io

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.