#ifndef WEBSOCKETCLIENT_H #define WEBSOCKETCLIENT_H #include #include #include class WebSocketClient : public QObject { Q_OBJECT public: WebSocketClient(const QUrl &url, QObject *parent = nullptr); static WebSocketClient *getInstance(); void sendTextMessage(const QString &message); private slots: void onConnected(); void onDisconnected(); void onError(QAbstractSocket::SocketError error); void onTextMessageReceived(const QString &message); void retryConnect(); private: QTimer *retryTimer; QWebSocket *socket; QUrl m_url; private: void connectToServer(); }; #endif // WEBSOCKETCLIENT_H