代码拉取完成,页面将自动刷新
基于C++编写的服务器,支持解析get请求,处理静态资源;
使用非阻塞的EPOLL边沿触发(ET模式)实现IO多路复用;
使用线程池提高并发度,降低频繁创建、销毁线程的开销;
使用有限状态机解析http请求;
支持日志系统,记录服务器运行情况及资源访问情况;
usage: ./WebServer port
默认网站根目录(src/http_conn.cpp: line-37):/var/www
操作系统:Ubuntu 20.04.2 LTS
编译器:g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
自动化构建:cmake (version 3.16.3)
cd build
cmake ..
make
./WebServer 8989
.
├── build #构建目录
│ └── readme.md #编译命令说明
├── CMakeLists.txt #cmake
├── include #头文件目录
│ ├── http_conn.h #http逻辑处理 头文件
│ ├── http_content_type.h #记录http content-type文件类型
│ ├── locker.h #封装线程同步机制
│ ├── log.h #日志系统 头文件
│ ├── threadpool.h #线程池
│ └── timer.h #定时器 时间堆(小顶堆) 头文件
├── LICENSE
├── README.md #项目说明文档
└── src #源文件目录
├── http_conn.cpp #http逻辑处理
├── log.cpp #日志系统
├── main.cpp #主函数
└── timer.cpp #时间堆(小顶堆)
3 directories, 14 files
点击访问 -->【基于EPOLL边沿触发(ET模式)和线程池的Web服务器 - 独人欣赏】
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。