websocketserver.h 811 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef WEBSOCKETSERVER_H
  2. #define WEBSOCKETSERVER_H
  3. #include <QtWebSockets/QWebSocket>
  4. #include <QtWebSockets/QWebSocketServer>
  5. class WebSocketServer : public QObject
  6. {
  7. Q_OBJECT
  8. public:
  9. explicit WebSocketServer(QObject *parent = nullptr);
  10. ~WebSocketServer();
  11. static WebSocketServer *getInstance()
  12. {
  13. // 使用静态局部变量确保单例实例的延迟初始化
  14. static WebSocketServer instance;
  15. return &instance;
  16. }
  17. QList<QWebSocket *> clients() { return m_clients; }
  18. private slots:
  19. void onNewConnection();
  20. void processMessage(const QString &message);
  21. void socketDisconnected();
  22. private:
  23. QWebSocketServer *m_webSocketServer;
  24. QList<QWebSocket *> m_clients;
  25. QHash<int, QWebSocket *> m_hashClients;
  26. };
  27. #endif // WEBSOCKETSERVER_H