Qt WebChannel Chatserver Example

The chatserver examples provides a chat service that client examples can connect to.

Overview

The C++ application implements a QObject which provides all mechanisms required for a chat service. This object is published through a QWebChannel which uses a WebSocket as transport.

The server provides a basic login method (username only, no passwords), which must be successfully invoked before a client is able to chat. After login a client can invoke the method sendMessage and receive the signal newMessage to write and receive messages. Furthermore there is a userList property which provides the names of all other connected clients. Additionally the server sends a keepAlive signal periodically to all clients. The clients have to respond to this signal, otherwise the client will be removed from the userList property.

The example shows how basic QObject elements can be used with QWebChannel, i.e. signals (newMessage), slots (sendMessage) and properties (userList).

Because this is a plain server application, there are separated clients needed to interact with the server. Both examples chatclient-qml and chatclient-html show a client implementation compatible with this server.

Files:

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