TinyWebServer
参考Github在Linux下搭建C++轻量级Web服务器,快速实践学习网络编程,搭建属于自己的服务器.
使用线程池 + epoll(ET和LT均实现) + 模拟Proactor模式并发模型
使用状态机解析HTTP请求报文,支持解析GET和POST请求
通过访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件
实现同步/异步日志系统,记录服务器运行状态
经Webbench压力测试可以实现上万的并发连接数据交换
框架
项目框架主要分为I/O处理单元、逻辑处理单元和存储单元三个模块
I/O处理单元和逻辑处理单元对应半同步/半反应堆线程池
逻辑处理单元和存储单元对应数据库连接池和日志系统
半同步/半反应堆线程池将web端和服务器端建立通信
实现http请求报文的处理与响应
定时器完成非活动连接的处理
数据库连接池避免频繁访问数据库,实现登录和校验功能
日志系统实现同步和异步两种方式记录服务器运行状态