#ifndef IVRTCPSERVER_H #define IVRTCPSERVER_H #include #include class IVrTcpServer : public QObject { Q_OBJECT public: explicit IVrTcpServer(QObject *parent = nullptr); ~IVrTcpServer() override; // 服务器接口 virtual bool startServer(quint16 port) = 0; virtual void stopServer() = 0; virtual bool isListening() const = 0; virtual quint16 serverPort() const = 0; // 数据发送接口 virtual qint64 broadcastData(const QByteArray &data) = 0; virtual qint64 broadcastData(const char *data, qint64 size) = 0; signals: // 服务器状态信号 void serverStarted(); void serverStopped(); void serverError(const QString &error); // 客户端连接信号 void clientConnected(const QString &clientId); void clientDisconnected(const QString &clientId); void dataReceived(const QString &clientId, const QByteArray &data); void dataSent(const QString &clientId, qint64 bytes); }; #endif // IVRTCPSERVER_H