// Copyright (C) 2016 Kurt Pattyn . // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #ifndef ECHOSERVER_H #define ECHOSERVER_H #include #include #include QT_FORWARD_DECLARE_CLASS(QWebSocketServer) QT_FORWARD_DECLARE_CLASS(QWebSocket) class EchoServer : public QObject { Q_OBJECT public: explicit EchoServer(quint16 port, bool debug = false, QObject *parent = nullptr); ~EchoServer(); Q_SIGNALS: void closed(); private Q_SLOTS: void onNewConnection(); void processTextMessage(QString message); void processBinaryMessage(QByteArray message); void socketDisconnected(); private: QWebSocketServer *m_pWebSocketServer; QList m_clients; bool m_debug; }; #endif //ECHOSERVER_H