Qt WebChannel Chatserver Example | Qt WebChannel 5.4

- Qt 5.4
- Qt WebChannel
- Qt WebChannel Chatserver Example
- Qt 5.4.2 Reference Documentation

# 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:

- chatserver-cpp/chatserver.cpp
- chatserver-cpp/chatserver.h
- chatserver-cpp/main.cpp
- chatserver-cpp/chatserver-cpp.pro