#ifndef UDPDATATHREAD_H #define UDPDATATHREAD_H #include #include #include "udpsocketworker.h" typedef enum { SIGNAL_EMPTY = 0, SIGNAL_SN , //SN号 SIGNAL_DONE , //成功 SIGNAL_CLOSE , //关闭 SIGNAL_BEATSRC, //注KEY状态 SIGNAL_BEATDST //外挂软件状态 }SIGNALTYPE; #define CONSTHEAD 59 class UdpDataThread : public QObject { Q_OBJECT public: UdpDataThread(QObject *parent = nullptr); ~UdpDataThread(); void send_circle(const QString& data); void sendSnId(const QString& data); void sendStop(); void sendClose(); void stopClose(); signals: void connectStatus(bool); private slots: void recvData(const QByteArray &data); void checkConnectSlot(); private: QThread *m_workerThread; UdpSocketWorker *m_udpWorker; QHostAddress m_hostAddr; QTimer *m_checkConnectTimer; // 判断注KEY软件状态 volatile bool m_connectStatus; volatile bool m_isSending; QString m_currSn; }; #endif // UDPDATATHREAD_H