|
- #pragma once
-
- #include <QMutex>
- #include <QThread>
- #include <QUdpSocket>
-
- #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);
- };
|