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网络通讯模块设计与实现(六)

posted on   IT文艺男  阅读(137)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2021-04-05 CQGUI框架之样式管理

导航

点击右上角即可分享
微信分享提示