#pragma once #include #include #include #include "ConfigInfo.h" #include "ValidProcess.h" #define NET_BUFFER 65535 struct Network { QString ip; ///< IP Address unsigned short port; ///< Port number int type; ///< UDP socket type, 1: singlecast, 2: multicast, 3: broadcast }; class NetDataRecv : public QThread { Q_OBJECT public: NetDataRecv(QObject* parent = nullptr); ~NetDataRecv(); void init(Frame* frame, Network network, IProcess* process); void initNetwork(); void send(); void stop(); private: Frame* m_pFrame; Network m_network; IProcess* m_pProcess; QUdpSocket* m_socketId; ip_mreq m_mreq; bool m_bNeedWork; QMutex m_mutex; QFile m_file; QByteArray m_fileArray; private: void run() override; void createDataPath(QString title); };