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

打印 上一主题 下一主题

主题 884|帖子 884|积分 2652

前面章节主要讲述网络通讯客户端的实现,各位小伙伴需认真阅读以及理解,理会其中的思想,有疑问的地方可及时给我私信,我都会非常认真地解答大家的疑惑。
这节讲述网络通讯服务端的实现,其开发思想、原则与客户端的类似,即组合封装、线程运行时类,面向接口编程等等。源码面前,了无秘密,我直接以类代码给大家展示,包含SNetServer类、SNetServerRunning类、INetServerHandler等类。

  • SNetServer -- 组合QTcpServer,封装内部细节
  • SNetServerRunning -- 线程运行时类,在线程里处理新来的客户端连接
  • INetServerHandler -- 接口类,提供给外部具体处理
SNetServer
  1. class SNetServer : public QThread
  2. {
  3.     Q_OBJECT
  4.         
  5.     friend class SNetServerRunning;
  6. public:
  7.     SNetServer(INetServerHandler* pNetServerHandler);
  8.     virtual ~SNetServer();
  9. public:
  10.     void Start();
  11. protected:
  12.     virtual void run();
  13. private:
  14.     void OnClientConnection();
  15. private:
  16.     QTcpServer* m_pTcpServer;
  17.     SNetServerRunning* m_pNetServerRunning;
  18.     INetServerHandler* m_pNetServerHandler;
  19. };
复制代码
详细讲解请点击C++/Qt网络通讯模块设计与实现(六)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

玛卡巴卡的卡巴卡玛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表