参考handy网络库修改的轻量级windows网络库libet

最近参考开源网络库handy,整合了一个符合我场景的网络库—libet,适用于windows平台。

现在我想先从整体架构上说明libet。

libethandy库一样,存在很多的回调函数。

先介绍基本的类:

  • TcpServer: 用于绑定IP,端口,处理Tcp连接。
  • TcpConn: 处理连接中的读,写。
  • Channel: 维护一个fd的通道,处理读写。
  • EventBase: 事件分发器,可以设置定时任务。
  • PollerBase: 轮询器基类。
  • PollerSelect: 主要用作select轮询事件,用于添加/删除/更新通道。
  • Buffer: 一个Tcp连接有两个buffer,输入buffer,输出buffer。
  • Slice: 作为 Buffer的扩展类,只维护Buffer的指针,不拥有实际资源。
  • CodecBase: 用于编解码业务消息。
  • Logger: spdlog的封装。
  • SafeQueue: 线程安全队列。
  • ThreadPool: 线程池。
  • ConnThreadPool: 连接线程池。
  • Timer: C++11封装的计算时间差类。

测试代码:

// 测试TCP服务器
void TestTcpServer();

//测试定时器
void TestTimer();

//测试关闭闲置连接
void IdleCloseTest();

//测试echo和心跳
void HeartbeatTest();

//测试定时发送txt文本
void PeriodicallySendTest();

//测试MultiBase发送txt文本
void MultiEbPeriodicallySendTest();

//测试单EventBase,工作线程池
void OneIoMultiWork();

//测试单例模式
void TestSingleton();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值