dualtcpserver.h 856 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef DUALTCPSERVER_H
  2. #define DUALTCPSERVER_H
  3. #include <QDebug>
  4. #include <QObject>
  5. #include <QTcpServer>
  6. #include <QTcpSocket>
  7. #include <QTextCodec>
  8. #include <QTimer>
  9. class DualTcpServer : public QObject
  10. {
  11. Q_OBJECT
  12. public:
  13. explicit DualTcpServer(QObject* parent = nullptr);
  14. bool startServer(QString ip, int port, int subPort);
  15. QTcpServer* tcpServer;
  16. QTcpServer* subTcpServer;
  17. void writeLn(QString s);
  18. void writeUtf16LeLn(QString s);
  19. signals:
  20. void onTcpServerExecute(const QString& msg);
  21. void onWriteLn(QTcpSocket* socket, QString s);
  22. public slots:
  23. void onTcpServerNewConnection();
  24. void onSubTcpServerNewConnection();
  25. void onTcpServerReadyRead();
  26. void socketDisconnect();
  27. private:
  28. QString m_ip;
  29. int m_port;
  30. int m_subPort;
  31. QList<QTcpSocket*> m_clients;
  32. };
  33. #endif // DUALTCPSERVER_H