hancy 是一个基于Linux平台下使用proactor
模型开发的轻量级的http服务器,支持静态网页,多媒体等资源的请求响应,文件的上传与下载
- CMake(3,22,1)
- MySQL(8.0.36)
- ubuntu(22.04)
- 克隆仓库
git clone https://github.com/ascii5/hancy.git
- 进入项目路径
cd hancy
- 编辑config文件
- 执行脚本
sudo sh run.sh
封装了heapTimer类,使用数据结构堆进行管理定时器,相对于双向链表的数据结构,堆数据结构有更高的查询效率
使用正则表达式解析http请求如请求行,请求头等内容
封装buffer类,提供readFd()
和writeFd()
方法对linux下的fd进行读写,底层使用std::vector<char>
封装实现自动扩容的缓冲区
- cmake构建工程
- 使用更为现代的cpp风格重构代码
- 更为规范的网站目录
- 文件上传服务功能更新
- 文件下载功能更新
- 时间堆定时器更新
- 使用正则表达式进行数据解析
- 日志等级控制
- 自动增长的缓冲区