项目作者: onlyet

项目描述 :
参考handy网络库修改的轻量级windows网络库
高级语言: C++
项目地址: git://github.com/onlyet/libet.git
创建时间: 2019-04-02T14:29:55Z
项目社区:https://github.com/onlyet/libet

开源协议:

下载


参考handy库修改的网络库。

基于select模型,适用于windows平台。

  • 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封装的计算时间差类。

测试代码

  1. // 测试TCP服务器
  2. void TestTcpServer();
  3. //测试定时器
  4. void TestTimer();
  5. //测试关闭闲置连接
  6. void IdleCloseTest();
  7. //测试echo和心跳
  8. void HeartbeatTest();
  9. //测试定时发送txt文本
  10. void PeriodicallySendTest();
  11. //测试MultiBase发送txt文本
  12. void MultiEbPeriodicallySendTest();
  13. //测试单EventBase,工作线程池
  14. void OneIoMultiWork();
  15. //测试单例模式
  16. void TestSingleton();