• 首页

  • 笑一笑

  • 相册

  • 文学

  • 日志

  • 关于页面
u f a n y
u f a n y

英杰

获取中...

11
09

一个reactor单线程网络库ccnet

发表于 2020-11-09 • 被 1,583 人看爆

缘由

最近在研究陈硕的网络库muduo,是一个基于reactor架构的网络库。我对网络库的感觉是易用,但是内容庞大,依赖颇多。比如boost网络库里面的一些语法让人生畏。关于reactor和proactor架构,还有select/poll/epoll网络模型方面的基础理论知识已经掌握,自己也一直想做一个网络库来对自己之前工作的一个总结。于是我模仿muduo写了一个单线程的reactor网络库。

实现这个库所需的介绍

  • C++11
  • 编译器gcc7.3
  • linux平台
  • 单线程
  • 事件循环 Reactor架构。
  • epoll

架构

rIeVqU.png

  • 整个库是对一个epoll的一个封装
  • EventLoop是整个库的核心,对应的架构是 loop peer thread。
  • EventLoop收集EPollPoller所产生的事件,通过Channel分发事件给TcpConnection,TcpConnection进行读写到Buffer缓冲区,然后通过回调给TcpServer。用户通过绑定与TcpServer的回调函数即可收到数据报。

后续规划

该库是对epoll的一个简单的封装,只支持单线程,后续会改造为多线程。还有定时器和一些example会继续完善。

github地址:https://github.com/diycat1024/ccnet

分享到:
Kubernetes - Xshell连接虚拟机 & 搭建Kubernetes基础集群
短链接服务Octopus的实现与源码开放
  • 文章目录
  • 站点概览
英杰

帅哥英杰

QQ Email RSS
看爆 Top5
  • 使用 MHA 实现 MySQL 主从复制高可用 3,211次看爆
  • nginx反向代理配置去除前缀 2,959次看爆
  • 国产微服务网关-Soul(真香) 2,882次看爆
  • Kubernetes - Xshell连接虚拟机 & 搭建Kubernetes基础集群 2,663次看爆
  • 不把一切看得太重,生命才会更加洒脱 2,626次看爆

Copyright © 2025 英杰 · 冀ICP备19001756号-1

Proudly published with Halo · Theme by fyang · 站点地图