48 lines
889 B
C++
48 lines
889 B
C++
#ifndef MEASURESERVER_H
|
|
#define MEASURESERVER_H
|
|
|
|
#include <QStringList>
|
|
#include <QTcpServer>
|
|
#include <QTcpSocket>
|
|
#include <QThread>
|
|
|
|
class RequstDataProcesser;
|
|
|
|
class MeasureServer : public QTcpServer
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MeasureServer(QObject *parent = nullptr);
|
|
bool Start(quint16 port = 9999);
|
|
void Stop();
|
|
|
|
protected:
|
|
void incomingConnection(qintptr socket_descriptor) override;
|
|
};
|
|
|
|
class MeasureSession : public QThread
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MeasureSession(int socket_descriptor, QObject *parent = nullptr);
|
|
virtual ~MeasureSession();
|
|
|
|
void run() override;
|
|
|
|
private slots:
|
|
void onClientRequstData();
|
|
void onClientDisconnected();
|
|
void onSocketError(QAbstractSocket::SocketError error);
|
|
|
|
private:
|
|
int _socket_descriptor;
|
|
RequstDataProcesser * _tcp_socket;
|
|
QByteArray * _requst_buffer;
|
|
qint32 _requst_data_len;
|
|
};
|
|
|
|
|
|
#endif
|