EnergySpectrumMeasureService/src/MeasureServer.h

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