本项目是基于Tinyhttpd扩展实现的web服务器,基于epoll事件驱动I/O,采用高效的Reactor模型+线程池进行客户端连接任务管理,支持高并发的Get与Post的http请求。
- git clone https://github.com/fltflt/Tinyhttpd_with_threadpool_epoll.git
- cd Tinyhttpd_with_threadpool_epoll
- make
- ./httpd
主要技术(详见我的csdn博客)
- 动态请求解析技术Cgi
- Reactor模式
- Epoll I/O多路复用技术
-
线程池
-
Socket网络编程相关知识
-
http报文格式
-
http请求命令get/post
- 进程通信(管道pipe)
- 端口配置在httpd.cpp 默认为3000
- HTTP请求页面为htdocs目录下的.html与.cgi后缀文件(可以手动添加)
- 添加命令行解析
- 增加定时器删除不常用连接
- 内存池