2024-11-25 17:15:44 +08:00

56 lines
1.2 KiB
C++

#ifndef TCPEQUIPMENT_H
#define TCPEQUIPMENT_H
#define TCP_SERVER_PORT 23333
#include <QTcpServer>
#include <QTcpSocket>
#include <QObject>
#include <QMap>
#include <QHostAddress>
#include <QDebug>
#include <CommomFunc/tool.h>
#include <QByteArray>
#include "XYComFunc_global.h"
class XYCOMFUNC_EXPORT TcpEquipment:public QObject
{
Q_OBJECT
public:
TcpEquipment();
TcpEquipment(QString IP);
Q_INVOKABLE void setIP(QString IP);
Q_INVOKABLE void startServer();
Q_INVOKABLE void startServer(QString IP);
Q_INVOKABLE void stopServer();
Q_INVOKABLE void send2All(QString strMsg);
Q_INVOKABLE void send2All(QByteArray buffer);
Q_INVOKABLE void send2One(QString strMsg,QString ip);
Q_INVOKABLE void send2One(QByteArray buffer,QString ip);
signals:
void dateReceived(QString strIP,int iPort,QByteArray buffer);
void stateChanged(QString strStateInfo);
public slots:
void onServerAcceptError();
void onClientConnected();
void onClientDataReceived();
void onClinetDisconnected();
protected:
virtual void dealRev(QString strIP,int iPort,QByteArray buffer);
private:
QMap<QString,QTcpSocket*> clientList;
QTcpServer* server;
QString listenIp;
bool serverFlag;
};
#endif // TCPEQUIPMENT_H