C++/Qt网络通讯模块设计与实现(六)

前面章节主要讲述网络通讯客户端的实现,各位小伙伴需认真阅读以及理解,理会其中的思想,有疑问的地方可及时给我私信,我都会非常认真地解答大家的疑惑。

这节讲述网络通讯服务端的实现,其开发思想、原则与客户端的类似,即组合封装、线程运行时类,面向接口编程等等。源码面前,了无秘密,我直接以类代码给大家展示,包含SNetServer类、SNetServerRunning类、INetServerHandler等类。

  • SNetServer -- 组合QTcpServer,封装内部细节
  • SNetServerRunning -- 线程运行时类,在线程里处理新来的客户端连接
  • INetServerHandler -- 接口类,提供给外部具体处理

SNetServer

class SNetServer : public QThread
{
    Q_OBJECT
        
    friend class SNetServerRunning;

public:
    SNetServer(INetServerHandler* pNetServerHandler);
    virtual ~SNetServer();

public:
    void Start();

protected:
    virtual void run();

private:
    void OnClientConnection();

private:
    QTcpServer* m_pTcpServer;
    SNetServerRunning* m_pNetServerRunning;
    INetServerHandler* m_pNetServerHandler;
};

详细讲解请点击C++/Qt网络通讯模块设计与实现(六)

热门相关:超武穿梭   刺客之王   仗剑高歌   仗剑高歌   时间都知道(唐嫣、窦骁、杨烁主演)