Qt WebChannel ChatServer Beispiel
Ein einfacher Chatserver, der mit der QWebChannel C++ API implementiert wurde.
ChatServer bietet einen Chat-Dienst, mit dem sich die Qt WebChannel ChatClient QML-Anwendung und Qt WebChannel ChatClient HTML-Beispiel verbinden können.
Ausführen des Beispiels
Zum Ausführen des Beispiels von Qt Creatorzu starten, öffnen Sie den Modus Welcome und wählen Sie das Beispiel aus Examples. Weitere Informationen finden Sie unter Erstellen und Ausführen eines Beispiels.
Implementieren 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 Transportmittel verwendet.
Der Server bietet eine einfache login
Methode (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. Außerdem gibt es eine Eigenschaft userList
, die die Namen aller anderen verbundenen Clients enthält. Zusätzlich sendet der Server in regelmäßigen Abständen ein keepAlive
Signal an alle Clients. Die Clients müssen auf dieses Signal antworten, andernfalls wird der Client aus der userList
Eigenschaft entfernt.
Das Beispiel zeigt, wie grundlegende QObject Elemente mit QWebChannel verwendet werden können, nämlich Signale (newMessage
), Slots (sendMessage
) und Eigenschaften (userList
).
Da es sich um eine reine Serveranwendung handelt, sind separate Clients erforderlich, um mit ihr zu interagieren. Qt WebChannel ChatClient QML Application und Qt WebChannel ChatClient HTML Example sind Client-Implementierungen, die mit diesem Server kompatibel sind.
© 2025 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.