Sur cette page

Qt WebChannel Exemple de serveur de chat

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

Affichage dans la fenêtre de la console des lignes de journalisation répétées relatives au contrôle « Keep Alive »

ChatServer fournit un service de chat auquel peuvent se connecter l'application QML ChatClient d'Qt WebChannel et l'exemple HTML ChatClient d'Qt WebChannel .

Exécution de l'exemple

Vous pouvez exécuter l'exemple à partir de :

Implémentation d’un serveur de chat

L'application C++ implémente un objet ` QObject ` qui fournit tous les mécanismes nécessaires à un service de chat. Cet objet est publié via une interface ` QWebChannel ` qui utilise un WebSocket comme protocole de transport.

Le serveur fournit une méthode d’ login de base (nom d’utilisateur uniquement, pas de mot de passe), qui doit être appelée avec succès avant qu’un client puisse discuter. Une fois connecté, un client peut appeler la méthode sendMessage et recevoir le signal newMessage pour écrire et recevoir des messages. De plus, la propriété userList fournit les noms de tous les autres clients connectés. Par ailleurs, 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 ».

Cet exemple montre comment les éléments de base d’ QObject peuvent être utilisés avec QWebChannel, à savoir les signaux (newMessage), les slots (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. L'application QML «Qt WebChannel ChatClient » et l'exemple HTML «Qt WebChannel ChatClient » sont des implémentations de clients compatibles avec ce serveur.

Exemple de projet sur 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.