41 lines
1.0 KiB
C++
41 lines
1.0 KiB
C++
#ifndef TCPCLIENT_H
|
|
#define TCPCLIENT_H
|
|
|
|
#include <QObject>
|
|
#include <QTcpServer>
|
|
#include <QTcpSocket>
|
|
|
|
class TCPClient : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
static TCPClient* getInstance();
|
|
static void sendToserver(QByteArray &data);
|
|
void configAndrun();
|
|
void setCallBack(void (*callback)(QString &ip, quint16 port,QByteArray &data));
|
|
void setServer(QString IP, quint16 port);
|
|
void setTimeOut(int timeout);
|
|
private slots:
|
|
void readSocket();
|
|
void connected();
|
|
void disconnected();
|
|
private:
|
|
explicit TCPClient(QObject *parent = nullptr);
|
|
~TCPClient();
|
|
static void _sleep(int msec);
|
|
static QTcpSocket socket;
|
|
static TCPClient tcpclient_instance;
|
|
int _timeout = 20;
|
|
QString server_ip = "127.0.0.1";
|
|
quint16 server_port = 7890;
|
|
bool has_found = false;
|
|
void (*_callback) (QString &ip, quint16 port,QByteArray &data)=nullptr;
|
|
signals:
|
|
void TCPClientConnected();
|
|
void TCPClientDisconnected();
|
|
void recv_data(QByteArray data);
|
|
|
|
};
|
|
|
|
#endif // TCPCLIENT_H
|