Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器.
- 使用 线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor和模拟Proactor均实现) 的并发模型
- 使用状态机解析HTTP请求报文,支持解析GET和POST请求
- 访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件
- 实现同步/异步日志系统,记录服务器运行状态
- 经Webbench压力测试可以实现上万的并发连接数据交换
| 概述 | 框架 | Demo演示 | 压力测试 | 更新日志 | 源码下载 | 快速运行 | 个性化运行 | 庖丁解牛 | CPP11实现 | 致谢 |
|---|
- C/C++
- B/S模型
- 线程同步机制包装类
- http连接请求处理类
- 半同步/半反应堆线程池
- 定时器处理非活动连接
- 同步/异步日志系统
- 数据库连接池
- 同步线程注册和登录校验
- 简易服务器压力测试
- 注册演示
- 登录演示
- 请求图片文件演示(6M)
- 请求视频文件演示(39M)
在关闭日志后,使用Webbench对服务器进行压力测试,对listenfd和connfd分别采用ET和LT模式,均可实现上万的并发连接,下面列出的是两者组合后的测试结果.
< BAE1 div align="center" dir="auto">
- Proactor,LT + LT,93251 QPS








