项目简介:
本项目是C++11编写的Web服务器,解析了get、post请求,支持HTTP长连接,使用epoll实现了io多路复用、非阻塞,并实现了异步日志记录服务器状态。
使用到的技术:
1.使用Epoll边沿触发的IO多路复用技术,非阻塞IO,使用Reactor模式
2.使用多线程充分利用多核CPU,并使用线程池避免线程频繁创建销毁的开销
3.使用基于小根堆的定时器关闭超时请求
4.主线程只负责accept请求,并以Round Robin的方式分发给其它IO线程(兼计算线程),锁的争用只会出现在主线程和某一特定线程中
5.使用eventfd实现了线程的异步唤醒
6.使用双缓冲区技术实现了简单的异步日志系统
7.为减少内存泄漏的可能,使用智能指针等RAII机制
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Linux项目是一个开放源代码的操作系统项目,由林纳斯·托瓦兹(Linus Torvalds)于1991年首次发布。该项目以Linux内核为核心,围绕其构建了一个完整的操作系统,包括各种系统工具、库、应用程序和硬件支持。 以下是Linux项目的一些主要特点和资料介绍: 开放源代码:Linux项目的所有源代码都是公开的,并允许任何人自由使用和修改。这为开发者提供了极大的灵活性和创新能力,同时也促进了全球范围内的协作和发展。 跨平台性:Linux操作系统可以在多种硬件架构和平台上运行,包括x86、ARM、MIPS等。这使得Linux成为了一种非常灵活的操作系统,适用于各种设备和应用场景。 可定制性:由于Linux的源代码是公开的,用户可以根据自己的需求进行定制和修改。这使得Linux成为了一种非常适合企业级应用的操作系统,可以根据企业的特定需求进行定制和优化。 安全性:Linux操作系统在安全性方面表现出色,具有强大的访问控制和安全机制。这使得Linux成为了一种非常适合用于服务器和安全敏感的应用场景的操作系统。
资源推荐
资源详情
资源评论
收起资源包目录
linux项目工程资料-基于linux实现的一个c++webServer.zip (142个子文件)
libserver_base.a 1.19MB
CMakeDetermineCompilerABI_CXX.bin 16KB
cmake.check_cache 85B
Makefile.cmake 6KB
CMakeCXXCompiler.cmake 5KB
DependInfo.cmake 2KB
DependInfo.cmake 2KB
cmake_install.cmake 2KB
cmake_install.cmake 1KB
cmake_install.cmake 1KB
cmake_install.cmake 1KB
cmake_install.cmake 1KB
DependInfo.cmake 808B
CMakeDirectoryInformation.cmake 680B
CMakeDirectoryInformation.cmake 680B
CMakeDirectoryInformation.cmake 680B
CMakeDirectoryInformation.cmake 680B
CMakeDirectoryInformation.cmake 680B
DependInfo.cmake 675B
cmake_clean.cmake 652B
cmake_clean.cmake 577B
CMakeSystem.cmake 402B
cmake_clean.cmake 265B
cmake_clean.cmake 260B
cmake_clean_target.cmake 43B
HttpData.cpp 22KB
CMakeCXXCompilerId.cpp 20KB
Util.cpp 6KB
ThreadPool.cpp 4KB
Epoll.cpp 3KB
AsyncLogging.cpp 3KB
EventLoop.cpp 3KB
HTTPClient.cpp 3KB
Thread.cpp 3KB
Server.cpp 3KB
LogStream.cpp 2KB
Timer.cpp 2KB
LoggingTest.cpp 2KB
Main.cpp 1KB
Logging.cpp 1KB
EventLoopThreadPool.cpp 980B
FileUtil.cpp 974B
EventLoopThread.cpp 962B
Channel.cpp 904B
LogFile.cpp 752B
CountDownLatch.cpp 413B
LogStream.h 3KB
Channel.h 2KB
HttpData.h 2KB
EventLoop.h 2KB
ThreadPool.h 1KB
AsyncLogging.h 1KB
Timer.h 1KB
Epoll.h 916B
Condition.h 901B
MutexLock.h 810B
Thread.h 792B
Logging.h 772B
Server.h 705B
EventLoopThreadPool.h 637B
LogFile.h 593B
CurrentThread.h 586B
Util.h 508B
EventLoopThread.h 455B
FileUitl.h 424B
CountDownLatch.h 350B
noncopyable.h 241B
HTTPClient 41KB
CXX.includecache 8KB
CXX.includecache 5KB
CXX.includecache 2KB
CXX.includecache 366B
depend.internal 10KB
depend.internal 4KB
depend.internal 800B
depend.internal 241B
settings.json 1KB
CMakeOutput.log 22KB
WebServer.log 14KB
LoggingTest 695KB
build.make 19KB
build.make 16KB
depend.make 10KB
build.make 5KB
build.make 5KB
depend.make 4KB
depend.make 880B
flags.make 286B
flags.make 286B
flags.make 286B
flags.make 286B
progress.make 240B
depend.make 195B
progress.make 177B
progress.make 43B
progress.make 43B
Makefile 14KB
Makefile 12KB
Makefile 6KB
Makefile 6KB
共 142 条
- 1
- 2
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python 程序语言设计模式思路-创建型模式:原型模式:通过复制现有对象来创建新对象,面向对象编程
- 卸载软件geek卸载软件geek
- Python 程序语言设计模式思路-创建型模式:单例模式,确保一个类的唯一实例(装饰器)面向对象编程、继承
- skywalking-plugins.jar skywalking-alarm.jar
- 独栋别墅图纸D020-两层-10.00&11.00米- 施工图.dwg
- Python 程序语言设计模式思路-创建型模式:工厂模式,创建对象的统一接口,封装对象的创建逻辑
- python自学教程-05-json数据格式的介绍.ev4.rar
- python自学教程-04-自定义JavaScript.ev4.rar
- 《淘宝后台系统...》
- skywalking-plugins.jar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功