Skip to main content

从零构建 C++ Web 服务器的经验与踩坑

·174 words·1 min· loading · loading · ·
GaleInk
Author
GaleInk
A Breezing Gale ~
Table of Contents
GaleWebServer 技术系列 - This article is part of a series.
Part : This Article

项目分阶段概览
#

(10 个阶段:骨架 → 线程池 → epoll → HTTP → Proactor → 定时器 → 日志 → 压测)

每个阶段的核心踩坑
#

(Makefile 链接缺源文件、析构没写崩在 freenew[] vs delete 混用、大文件 recv/send 循环读发)

一次完整的 GDB 调试记录
#

free(): invalid pointerbtframe Nlist → 定位到 delete 了数组的元素)

面试被问到的 10 个高频问题
#

(epoll 为什么快、LT vs ET、Reactor vs Proactor、状态机为什么用、异步日志优劣)

最受益的三个经验
#

N+1 原则的局限、用最小试验验证新模块、遇到 bug 先 bt 再问人)

参考资料
#

GaleWebServer 技术系列 - This article is part of a series.
Part : This Article