/WebServer

A C++ Lightweight Web Server.

Primary LanguageCGNU General Public License v3.0GPL-3.0

WebServer

A C++ Lightweight Web Server.

目录树

.
├── base                            // Linux 下网络编程的基础接口的测试
│   ├── network                     // 网络相关
│   ├── process                     // 进程相关
│   └── thread                      // 线程相关
├── CMakeLists.txt                  
├── database                        // 数据库
│   ├── CMakeLists.txt
│   ├── sql_connection_pool.cpp    
│   └── sql_connection_pool.h
├── doc                             // 文档和项目流程图
│   ├── arch                        
|   |── readme_assert   
│   └── test
├── http                            // 客户端的 http 请求解析封装类
│   ├── CMakeLists.txt
│   ├── http_conn.cpp
│   └── http_conn.h
├── LICENSE
├── lock                            // 线程同步机制封装类
│   └── locker.h
├── log                             // 服务器日志封装类
│   ├── block_queue.h
│   ├── CMakeLists.txt
│   ├── log.cpp
│   └── log.h
├── readme_assert               
├── README.md
├── root                            // 服务器静态资源
│   ├── css
│   ├── img
│   └── page
├── test_tools                      // 压测工具
│   └── webbench-1.5
├── threadpool                      // 线程池
│   └── threadpool.h
├── timer                           // 定时器
│   ├── heap_lst_timer.cpp
│   ├── heap_lst_timer.h
│   └── lst_timer.h
└── WebServer.cpp                  

功能模块逻辑

项目架构

项目架构

项目逻辑

项目逻辑

同步机制封装

同步机制封装

线程池

线程池

数据库连接池

数据库连接池

HTTP 解析

详细流程

主从状态机模型 HTTP 解析详细流程

定时器非活检测

定时器非活检测

同步异步日志系统

同步异步日志系统

运行效果

首页

首页

登录界面

登录界面

注册界面

注册界面

功能测试界面

功能测试界面

获取图片

获取图片

获取视频

获取视频

WebBench 压测

压测