项目简介
本项目是基于Reactor模式的高性能HTTP Web服务器,参考了muduo网络库的设计思想。该服务器可处理GET和POST请求,支持HTTP长连接和短连接,借助基于时间轮的定时器定期删除非活动连接。使用epoll的ET边缘触发模式,实现双缓冲异步日志系统,还优化了内存分配策略。
项目的主要特性和功能
- 请求处理:支持解析GET和POST请求,支持HTTP长连接和短连接。
- 定时器管理:通过基于时间轮的定时器,定期删除非活动连接,优化资源使用。
- 事件驱动:使用epoll的ET边缘触发模式,高效处理网络事件。
- 日志系统:实现双缓冲异步日志系统,确保日志记录的高效性和可靠性。
- 内存优化:将所有
shared_ptr<T> t(new T)
替换为std::make_shared<T>()
,减少一次内存分配,提高性能。
安装使用步骤
1. 环境准备
确保系统中已安装以下工具和库:
- GCC 编译器
- CMake 构建工具
- 必要的系统库(如libpthread
)
2. 进入项目目录
从项目仓库下载源码文件到本地后,进入项目目录:
bash
cd WebServer
3. 编译项目
使用CMake构建项目:
bash
mkdir build
cd build
cmake ..
make
4. 运行服务器
编译完成后,运行生成的可执行文件:
bash
./WebServer
5. 配置参数
可以通过命令行参数配置服务器的端口号、日志文件地址、线程数量和非活动时间等参数。例如:
bash
./WebServer -p 9006 -l ./WebServer.log -t 4 -a 0
6. 测试服务器
使用浏览器或curl工具访问服务器的地址(如http://localhost:9006
),测试服务器的响应和功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】