Sur cette page

Qt WebChannel Exemple HTML de ChatClient

Un client HTML/JavaScript qui communique via un WebSocket avec un serveur QWebChannel.

Fenêtre de navigateur comportant une boîte de dialogue de connexion au chat, comprenant un champ « Nom » et un bouton « Connexion », à côté d'un panneau « Utilisateurs »

ChatClient HTML fournit un client QWebChannel simple, implémenté à l'aide de JavaScript et de HTML.

Exécution de l’exemple

Pour exécuter l’exemple, ouvrez le fichier chatclient.html dans un navigateur.

Implémentation d’un client de canal Web

Le client initialise une connexion WebSocket avec le serveur de chat et reçoit un objet contenant tous les signaux, slots et propriétés nécessaires à l’implémentation d’un client de chat.

Une fois connecté, le client peut appeler la méthode ` sendMessage ` et recevoir le signal ` newMessage ` pour envoyer et recevoir des messages. De plus, la propriété ` userList ` fournit les noms de tous les autres clients connectés. La liste est automatiquement mise à jour lorsque son contenu change. Par ailleurs, le client répond au signal « keep alive » du serveur, nécessaire pour détecter les clients déconnectés et les supprimer de la propriété ` userList `.

Cet exemple montre comment utiliser les éléments de base avec l’implémentation JavaScript du client QWebChannel, notamment la connexion aux signaux (newMessage), l’appel de slots (sendMessage) et la gestion des modifications de propriétés (userList).

Le client est capable de fonctionner avec l'exemple ChatServer d'Qt WebChannel .

Exemple de projet sur code.qt.io

Voir également l’exemple de serveur de chatQt WebChannel et l’application QML ChatClientQt WebChannel .

© 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.