前面章节主要讲述网络通讯客户端的实现,各位小伙伴需认真阅读以及理解,理会其中的思想,有疑问的地方可及时给我私信,我都会非常认真地解答大家的疑惑。
- 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网络通讯模块设计与实现(六)