1. C++ WebServer项目分享

前言

  把之前自己学习过程中做的几个小项目拿出来写写博客就当复习啦,同时拿出来也希望能在大家的反馈能有进一步的改进,比如增加新的功能之类的,或者哪里写的不好,讲的不不清楚。

  对于每个项目,把博客分文这么几项:

  1. 项目简介:(项目的大致流程/简历里怎么写)

  2. 项目实现:(具体讲讲实现思路,以及可选方案)

  3. 面试整理:结合这个项目面试可以说什么,有哪些可能会问的问题

  如果你也想把这个项目写在简历上,那么关注1和3就好了,2大概知道怎么做的就行;如果你正好被相同的技术栈困扰,也希望我的博客能带给你一些思路。

WebServer项目简介

  WebServer可以说是c++人手一个的项目了,做这个项目主要是为了提升一下自己对c++的了解程度,作为嵌入式选手c++水平基本就是(c with class), 同时对Linux的文件IO和Socket编程的认知也提升一下。

项目地址:C++ WebServer

  核心就是muduo库的主丛Reactor架构,然后自己结合一些WebServer做了一个简易实现。

项目内容

  该项目是主从reactor加线程池的模式,IO处理使⽤了⾮阻塞IO和IO多路复⽤技术,具备处理多个客户端的http请求的能力。

  具体而言,由主Reactor进行监听,当监听到客户端的连接后就把该链接分配给某个子Reactor,当客户端产生可读可写事件后由对应子Reactor进行处理,主Reactor和子Reactor间采用eventfd + 回调函数的方式进行交互。使⽤webbench创建1000个进程对服务器进⾏60s并发请求,测试结果表明,对于短连接的QPS为2w+,相较于单Reactor模型在高并发场景表现更好

相关推荐
一技安身14 小时前
【Docker】 镜像导出 & 导入,实验环境aarch64(arm64)Linux操作系统
linux·docker·容器
hansang_IR15 小时前
【题解】P4460 [CQOI2018] 解锁屏幕
c++·算法
代码村新手15 小时前
Linux调试器-gdb的使用
linux
ChampaignWolf16 小时前
在 SAP S/4HANA 内部基于 ICF Handler 从零实现 ABAP MCP Server:架构、代码与踩坑实录
c++·架构·sap·abap·mcp
新时代牛马16 小时前
PCI与PCIe 硬件原理、配置空间/BAR 与 Linux 驱动完整篇:从 LTSSM、TLP 到 ECAM 与probe
java·linux·服务器
wuyk55516 小时前
从零吃透 MQTT 通信|第 8 章 FreeRTOS 多任务架构下 MQTT 工程架构,任务拆分、队列解耦、临界区保护
c语言·开发语言·stm32·学习·架构
尘客-追梦17 小时前
Day 01:插件化之前,先看清 ABI 这堵墙
开发语言·c++·qt
有点。17 小时前
*C++哈夫曼树与哈夫曼编码
java·c++·servlet
两点王爷17 小时前
解决 Linux 中 version `CXXABI_1.3.8‘ not found 报错
linux·运维·服务器
xx~t17 小时前
嵌入式——51单片机1
linux·c语言·单片机·嵌入式硬件·51单片机