上传者: 42139042
|
上传时间: 2021-12-14 01:48:55
|
文件大小: 35KB
|
文件类型: -
TinyWebServer
简介
C ++实现的轻量级网服务器,采用React器模式加非阻塞IO实现,主线程负责监听新连接以及信号的处理,工作线程负责建立新连接以及处理客户请求。整体每个线程遵循一个环的设计,等待在一个事件循环上,工作线程由一个线程池进行管理。通过小根堆维护一个计时器,关闭不活跃的连接。
类的设计
EventLoopThreadPool管理工作线程,主要线程提供接口实现主线程与工作线程之间的通信
EventLoopThread工作线程,开启事件循环,等待事件发生后调用user提供的某些函数
user为工作线程提供接口实现事件的处理,封装HttpConn
HttpConn实现针对客户请求的处理,包括重新并解析请求报文,生成相应报文以及向客户发送报文
环境
Linux内核5.4.0-66
Ubuntu的04.04
g ++ 7.5.0
使4.1
使用方法
下载源码:
g