myWebserver 介绍
项目总结
项目准备过程中,主要阅读了《Linux 高性能服务器编程》游双 一书。源码参考的是:TinyWebServer,我在此源码的基础上做了一定的优化和修改。
我的代码:Github: myWebserver: 我的C++服务器项目
我的 Webserver 项目总结:WebServer 项目解读 / 代码分析 / 改进
我的《Linux 高性能服务器编程》学习笔记:《Linux 高性能服务器编程》总结_红茶川的博客-CSDN博客
我的 CSDN 博客:红茶川-CSDN博客,上面同步更新了所有内容。
《Linux 高性能服务器编程》学习笔记
书本中的样例代码
书中的部分样例代码,我都在笔记中给出了可以运行的代码,大家可以编译运行一下看看效果。
所有代码我都放在了 Github 仓库:《Linux 高性能服务器编程》—游双,阅读笔记及相关代码
完整笔记:《Linux 高性能服务器编程》总结_红茶川的博客-CSDN博客
实战 1:TCP通信实现(服务器端和客户端)
实战 2:使用 MSG_OOB 选项发送带外数据
实战 3:实现一个简单的 CGI 服务器
实战 4:测试 UID 和 EUID 的区别
实战 5:使用 setsid() 创建一个新的会话和进程组
实战 6:select 调用同时接收普通数据和带外数据
实战 7:使用 SIGURG 信号检测带外数据是否到达
实战 8:使用 SO_SNDTIMEO 选项设置定时
实战 9:利用 alarm 函数周期性触发 SIGALRM 信号
实战 10:利用 Libevent 库实现一个“Hello World”程序
实战 11:在进程间传递文件描述符
实战 12:死锁举例
实战 13:使用条件变量模拟实现生产者—消费者问题
实战 14:多线程环境中,使用fork调用产生的死锁问题
实战 15:在一个线程中统一处理所有信号
实战 16:用进程池实现简单的 CGI 服务器
第一篇 前置知识 TCP / IP 协议
1. IP协议
2. TCP协议
3. 访问一个网页的全过程
第二篇 深入解析高性能服务器编程
4. Linux网络编程基础API
5. 高级 I/O 函数
6. Linux服务器程序规范
7. 高性能服务器程序框架
7. 高性能服务器程序框架
8. I/O 复用
9. 信号
10. 定时器
11. 高性能I/O框架库Libevent
12. 多进程编程
14. 进程池和线程池
14. 进程池和线程池
第三篇 高性能服务器优化与监测
15. 服务器调制、调试和测试
参考
TinyWebServer
GitHub地址:https://github.com/qinguoyi/TinyWebServer
- 小白视角:一文读懂社长的TinyWebServer
- 最新版Web服务器项目详解 - 01 线程同步机制封装类
- 最新版Web服务器项目详解 - 02 半同步半反应堆线程池(上)
- 最新版Web服务器项目详解 - 03 半同步半反应堆线程池(下)
- 最新版Web服务器项目详解 - 04 http连接处理(上)
- 最新版Web服务器项目详解 - 05 http连接处理(中)
- 最新版Web服务器项目详解 - 06 http连接处理(下)
- 最新版Web服务器项目详解 - 07 定时器处理非活动连接(上)
- 最新版Web服务器项目详解 - 08 定时器处理非活动连接(下)
- 最新版Web服务器项目详解 - 09 日志系统(上)
- 最新版Web服务器项目详解 - 10 日志系统(下)
- 最新版Web服务器项目详解 - 11 数据库连接池
- 最新版Web服务器项目详解 - 12 注册登录
- 最新版Web服务器项目详解 - 13 踩坑与面试题
其他参考
- 什么是 web 服务器? - 学习 Web 开发 | MDN
- 基于 Linux 的 web 服务器_基于linux系统的webserve服务器开发-CSDN博客
- 代码随想录项目精讲系列-webserver.pdf 密码:
- Linux高性能服务器编程.pdf
- 从零开始自制实现C++ High-Performance WebServer 全流程记录_c++ webserver项目 速成-CSDN博客
- 从零开始实现C++ TinyWebServer_JehanRio的博客-CSDN博客