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

  • C++/Qt网络通讯模块设计与实现(一)
  • C++/Qt网络通讯模块设计与实现(二)
  • C++/Qt网络通讯模块设计与实现(三)
  • C++/Qt网络通讯模块设计与实现(四)
  • 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网络通讯模块设计与实现(六)