1 Star 2 Fork 2

watercant / A tiny Web Server

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

A tiny Web Server

介绍 :computer:

  • 基于C++于Linux环境下搭建的轻量级高并发Web服务器

ENVIRONMENT :bamboo:

  • OS: Ubuntu 14.04
  • Complier: g++ 4.8

软件架构 :file_folder:

软件架构说明

输入图片说明

安装教程 :calling:

  • cd ./安装目录下
  • 更改CMakefile
  • make
  • ./a.out 端口号

使用说明 :page_facing_up:

  • 需要安装mysql插件
  • 安装linux环境
  • 配置g++

Technical points :wind_chime:

  • 使用 线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor和模拟Proactor均实现) 的并发模型
  • 使用状态机解析 HTTP 请求报文,支持解析 GETPOST 请求
  • 访问服务器数据库实现 web端用户注册、登录 功能,可以请求服务器图片和视频文件
  • 利用 单例模式阻塞队列 实现异步的日志系统,记录服务器运行状态;
  • Webbench 压力测试可以实现上万的并发连接数据交换
  • 利用标准库容器封装char,实现 自动增长 的缓冲区;
  • 于双向链表 实现的定时器,关闭超时的非活动连接;
  • 利用 RAII 机制实现了数据库连接池,减少数据库连接建立与关闭的开销,同时实现了用户注册登录功能。

Test :electric_plug:

使用开源测试工具webbench-1.5进行压力测试

待完成工作

  • 时间轮算法实现定时器
  • Redis缓存

致谢

  • 《Linux高性能服务器编程》

  • 《UNIX网络编程》

空文件

简介

基于C++于linux环境下搭建的轻量级高并发Web服务器 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/watercant/a-tiny-web-server-a.git
git@gitee.com:watercant/a-tiny-web-server-a.git
watercant
a-tiny-web-server-a
A tiny Web Server
master

搜索帮助