#ifndef QNETTCPSERVER_H #define QNETTCPSERVER_H #include #include #include #include #include "QTimer" #include "clientsession.h" #include "QMetaType" #define MAX_DATA_PORT 65535 class QNetTcpServer : public QTcpServer { Q_OBJECT public: QNetTcpServer(QObject *parent = NULL); ~QNetTcpServer(); bool Begin(const QHostAddress& address, quint16 nPort); void End(); void sendPackage(QString tgName, QByteArray ndata); void sendPackage(QByteArray); public slots: void dataReceived(QString, QByteArray); void dataReceived(int, QByteArray); void slotDisconnected(int); void slotDisconnected(QString); protected: void incomingConnection(qintptr socketDescriptor); private: quint16 getNextPort(); signals: void sgRecvData(QByteArray); void sgConnected(QString); void sgConnect(QVariantMap); private: quint16 mdataPort; // clear expired data session qint64 mdataSessID; QMap mClientsSessMap; QMap mClientsSessMapTg; QString mAddress; qint16 mPort; QString mPeerName; }; #endif // QNETTCPSERVER_H