#ifndef WEBSOCKETSERVER_H #define WEBSOCKETSERVER_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include QT_FORWARD_DECLARE_CLASS(QWebSocketServer) QT_FORWARD_DECLARE_CLASS(QWebSocket) typedef struct { QString DataTime; QString StationId; QString Values; } ReceivePatrolRecord; class WebSocketClient { public: explicit WebSocketClient(QString cmd="",QWebSocket *so=nullptr){ Cmd = cmd; StationId = ""; StationName = ""; DeviceId=""; BusAddr=""; Count=""; Start=""; Limit=""; Order=""; Time=""; m_client=so; } QString Cmd ; QString StationId; QString StationName; QString DeviceId; QString BusAddr; QString Count; QString Start; QString Limit; QString Order; QString Time; QWebSocket *m_client; }; class WebSocketServer : public QObject { Q_OBJECT public: explicit WebSocketServer(QObject *parent = nullptr); ~WebSocketServer(); void start(); void appendData(QString data); void patrolrecord(QList PatrolList); void ercodeSent(QString phone); signals: void closed(); void weblog(QString emitlog); public slots: void onNewConnection(); void processTextMessage(QString message); void socketDisconnected(); void timeout(); void onSslErrors(const QList &errors); private: int counttemp; QWebSocketServer *m_pWebSocketServer; QList clientList; QTimer *timer; QTimer *timerdata; QStringList datalist; int count; QSqlDatabase db; QList PatrolList; QList PatrolRecordList; }; #endif // WEBSOCKETSERVER_H