Qt WebChannel Application QML ChatClient
Un client QML qui communique via une WebSocket avec un serveur QWebChannel.

ChatClient QML fournit un client QWebChannel simple mis en œuvre à l'aide de JavaScript et de QML.
Mise en œuvre d'un client de canal Web en QML
Cet exemple montre comment vous pouvez utiliser les éléments de base avec l'implémentation JavaScript du client QWebChannel, comme la connexion aux signaux (newMessage), l'appel aux slots (sendMessage) et la gestion des changements de propriété (userList).
Le client établit une connexion WebSocket avec le serveur de chat sur le port 12345 de localhost. Lorsque la WebSocket s'ouvre, un objet WebChannel est créé, prenant la WebSocket comme premier argument et une fonction de rappel comme second argument. Lorsque la fonction de rappel est appelée, le client reçoit un objet nommé chatserver, contenant tous les signaux, slots et propriétés nécessaires à la mise en œuvre d'un client de chat. La fonction de rappel connecte userListChanged, newMessage, et keepAlive sur l'objet chatserver avec des fonctions distinctes gérant ces signaux, puis elle appelle show sur loginWindow.
L'objet Window avec loginWindow comme identifiant gère la procédure de connexion. Il contient un LoginForm défini dans LoginForm.ui.qml. Lorsque vous appuyez sur le bouton, il appelle la fonction login sur l'objet chatserver avec le nom de connexion et une fonction de rappel comme arguments. Cette fonction de rappel gère à la fois le succès et l'échec de la connexion.
Après la connexion, le client utilise un objet MainForm, défini dans MainForm.ui.qml, avec mainUi comme identifiant, pour poster des messages à l'aide du slot sendMessage, lire des messages à l'aide du signal newMessage et afficher les noms de tous les utilisateurs connectés à l'aide de la propriété userList. En outre, le client répond au signal keepAlive du serveur afin que ce dernier puisse détecter les clients déconnectés et les supprimer de la propriété userList.
Le client est capable de travailler avec l'exemple ChatServerQt WebChannel .
Voir aussi Qt WebChannel ChatServer Example et Qt WebChannel ChatClient HTML Example.
© 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.