前面章节主要讲述网络通讯客户端的实现,各位小伙伴需认真阅读以及理解,理会其中的思想,有疑问的地方可及时给我私信,我都会非常认真地解答大家的疑惑。
这节讲述网络通讯服务端的实现,其开发思想、原则与客户端的类似,即组合封装、线程运行时类,面向接口编程等等。源码面前,了无秘密,我直接以类代码给大家展示,包含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网络通讯模块设计与实现(六)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |