#pragma once #include <QObject> #include <QUrl> class QWebSocketServer; class QWebSocket; class WebSocketServer : public QObject { Q_OBJECT public: explicit WebSocketServer(const QString &serverName, quint16 serverPort = 0, QObject *parent = 0); ~WebSocketServer(); signals: void started(); void stopped(); public slots: bool start(); void stop(); bool isError(); QString errorString(); QUrl serverUrl(); private slots: void wsNewConnection(); void wsBinaryMessageReceived(const QByteArray &message); void wsTextMessageReceived(const QString &message); void wsDisconnected(); private: QString serverName_; quint16 serverPort_; QWebSocketServer *wsServer_; QList<QWebSocket *> wsClients_; };