# TcpServer
### 基于Reactor模型多线程C++ Web服务器
1.实现channel类根据事件注册回调函数,事件驱动,有响应事件触发回调函数;
2.抽象连接类Connection,继承实现Httpconn类;
3.采用主从Reactor模式,一个mainReactor,多subReactor,mainRector负责监听连接,建立连接,采用阻塞Epoll水平触发防止丢失连接,subreactor采用非阻塞Epoll边沿触发处理请求,采用round robin将每个连接均匀分配给subRector,subRector负责读写以及业务逻辑;
4.利用RAII以及单例模式实现数据库连接池;
5.日志分前后端,后端线程负责将日志写入磁盘,前端采用阻塞线程安全的队列收集日志;
6.利用状态机以及正则表达式实现Http报文解析;
7.采用智能指针防止内存泄漏;
8.利用小根堆实现连接超时定时器,每个eventloop有一个连接定时器,连接超时清除多余连接;
![img.png](img.png)
![img_1.png](img_1.png)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
基于Reactor模型事件驱动C++服务器.zip (96个子文件)
资料总结
InetAddress.h 347B
CMakeLists.txt 335B
InetAddress.cpp 430B
Buffer.cpp 1KB
Connection.h 883B
Sql
CMakeLists.txt 52B
SqlConnRAII.h 544B
SqlConnPool.h 725B
SqlConnPool.cpp 2KB
empty.cpp 46B
ThreadPool.cpp 1KB
ThreadPool.h 611B
resources
register.html 3KB
welcome.html 3KB
video.html 3KB
403.html 3KB
js
bootstrap.min.js 36KB
jquery.magnific-popup.min.js 20KB
magnific-popup-options.js 1KB
smoothscroll.js 4KB
wow.min.js 7KB
custom.js 1KB
jquery.js 84KB
css
style.css 9KB
bootstrap.min.css 118KB
magnific-popup.css 7KB
animate.css 71KB
font-awesome.min.css 27KB
login.html 3KB
404.html 3KB
picture.html 4KB
index.html 3KB
405.html 3KB
error.html 3KB
images
instagram-image4.jpg 101KB
instagram-image5.jpg 48KB
instagram-image2.jpg 66KB
profile-image.jpg 46KB
instagram-image3.jpg 58KB
favicon.ico 60KB
instagram-image1.jpg 74KB
400.html 3KB
video
xxx.mp4 37.83MB
fonts
FontAwesome.otf 107KB
fontawesome-webfont.eot 69KB
fontawesome-webfont.woff 82KB
fontawesome-webfont.woff2 65KB
fontawesome-webfont.svg 357KB
fontawesome-webfont.ttf 139KB
Log
CMakeLists.txt 47B
LoggerOutput.h 3KB
LoggerOutput.cpp 2KB
LogStream.cpp 2KB
Logger.h 4KB
LogBuffer.cpp 69B
Log.h 2KB
MicroTimestamp.h 1KB
BlockingQueue.h 3KB
LogFile.cpp 6KB
Log.cpp 4KB
Logger.cpp 2KB
LogFile.h 2KB
MicroTimestamp.cpp 2KB
LogStream.h 2KB
LogBuffer.h 1KB
Acceptor.h 590B
EventLoop.cpp 1KB
Channel.cpp 1KB
util.h 232B
Socket.cpp 3KB
main.cpp 2KB
EventLoop.h 722B
Connection.cpp 2KB
Socket.h 650B
Timer
CMakeLists.txt 58B
Timer.h 1KB
Timer.cpp 2KB
Server.h 2KB
Epoll.h 623B
Server.cpp 5KB
Channel.h 991B
Buffer.h 652B
.gitignore 40B
util.cpp 196B
img.png 30KB
README.md 998B
Epoll.cpp 2KB
img_1.png 30KB
Acceptor.cpp 935B
Http
CMakeLists.txt 55B
Httpconn.h 944B
Httpconn.cpp 4KB
HttpResponse.h 1KB
HttpRequest.h 2KB
HttpRequest.cpp 7KB
HttpResponse.cpp 5KB
共 96 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- hasp驱动 win10可用,不死机不蓝屏
- 00000000044242851月光摇篮曲.m4a
- 基于JavaScript讲解的数据结构和算法
- python计算机视觉python-computer-vision.rar
- VB+ACCESS计算机等级考试管理系统(源代码+系统+答辩PPT).zip
- python密码python-ciphers.rar
- 2c60fbb3dt9ad50ed8864298eea1484b.MP4
- 基于yolov8+dlib实现视觉识别的安全驾驶监测系统部署到jetson NX平台源码+模型.zip
- Qt框架+OpenCV+动态爱心+编程教学+520
- 基于opencv+yolov8实现目标追踪及驻留时长统计源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功