#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