Qt WebChannel Beispiel für einen Chat-Server
Ein einfacher Chat-Server, der mithilfe der C++-API von QWebChannel implementiert wurde.

„ChatServer“ stellt einen Chat-Dienst bereit, mit dem sich die QML-Anwendung „Qt WebChannel ChatClient“ und das HTML-Beispiel „Qt WebChannel ChatClient“ verbinden können.
Ausführen des Beispiels
Sie können das Beispiel wie folgt ausführen:
- Qt Creator
Öffnen Sie den Modus „ Welcome “ und wählen Sie das Beispiel unter Examples aus. Weitere Informationen finden Sie unter Qt Creator: Tutorial: Erstellen und Ausführen.
- Qt Extension for Visual Studio Code
Führen Sie den Befehl „ Qt: Open Qt examples “ aus dem Verzeichnis „ Command Palette “ aus und wählen Sie das Beispiel aus der Liste aus. Weitere Informationen finden Sie unter Qt Extension for Visual Studio Code: Tutorial: Erstellen und Ausführen.
Implementierung eines Chat-Servers
Die C++-Anwendung implementiert ein „ QObject “, das alle für einen Chat-Dienst erforderlichen Mechanismen bereitstellt. Dieses Objekt wird über ein „ QWebChannel “ veröffentlicht, das einen WebSocket als Transportprotokoll verwendet.
Der Server stellt eine grundlegende Methode „ login “ bereit (nur Benutzername, keine Passwörter), die erfolgreich aufgerufen werden muss, bevor ein Client chatten kann. Nach der Anmeldung kann ein Client die Methode „ sendMessage “ aufrufen und das Signal „ newMessage “ empfangen, um Nachrichten zu schreiben und zu empfangen. Darüber hinaus gibt es die Eigenschaft „ userList “, die die Namen aller anderen verbundenen Clients bereitstellt. Zudem sendet der Server in regelmäßigen Abständen das Signal „ keepAlive “ an alle Clients. Die Clients müssen auf dieses Signal reagieren, andernfalls wird der Client aus der Eigenschaft „ userList “ entfernt.
Das Beispiel zeigt, wie grundlegende Elemente von „ QObject “ mit „ QWebChannel “ verwendet werden können, d. h. Signale (newMessage), Slots (sendMessage) und Eigenschaften (userList).
Da es sich hierbei um eine reine Serveranwendung handelt, sind separate Clients erforderlich, um mit ihr zu interagieren. Die QML-Anwendung „Qt WebChannel ChatClient“ und das HTML-Beispiel „Qt WebChannel ChatClient“ sind Client-Implementierungen, die mit diesem Server kompatibel sind.
© 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.