76、仿ASIO实现的Linux c++服务器------服务器源码解析----云视频服务项目

仿ASIO实现的Linux c++服务器

流程

配置文件

模板全特化

需要通用模板做声明

返回一个成员函数,值为模板类型

整个配置管理类是单例模式

Defer RAII

服务器流程

ET模式是边缘触发模式,只会触发一次,当接收缓冲区由空变为有数据,就会触发一次。如果我们不把数据读完,将来不会再次触发。

ET模式需要循环读取,直到读空,读空方式为EAGAIN /EWOULDBLOCK

LT模式,只要TCP缓冲区有数据,就会触发事件,所以可以不用读空,每次都多少取决于自己的逻辑。建议还是读空。

线程池是什么?

线程池 相关文档,我自己实现的 77、线程池原理和实现------服务器源码解析----云视频服务项目-CSDN博客

详细的结构图:

78、框架分析------服务器源码解析----云视频服务项目-CSDN博客

相关推荐
吃着火锅x唱着歌8 小时前
Effective C++ 学习笔记 条款43 学习处理模板化基类内的名称
c++·笔记·学习
felixking9 小时前
C++20 协程
开发语言·c++·协程
小小龙学IT11 小时前
FlatBuffers 深度解析:Google 开源零拷贝序列化库完全指南
c++·开源
wuminyu12 小时前
JDK21中虚拟线程和FFM协同实现高并发源码剖析
java·linux·c语言·jvm·c++
SWAGGY..12 小时前
【C++进阶】:(1)继承机制详解
java·jvm·c++
听取WA声一片(无恶意)13 小时前
CSP-J/CSP-S 深度优先搜索(DFS)完全讲义
c++·算法·深度优先
码匠许师傅13 小时前
【C++ 面试真题】27. 聊聊 C++ 的内存泄漏与内存布局
java·c++·面试
加油码14 小时前
动静态库的链接底层原理(进阶版)
linux·c++
一木 之林14 小时前
三、内存管理、指针与堆栈
c语言·jvm·c++
程与留15 小时前
06_Qt 常用数据类型与容器:QString、QList、QVector、QMap 的性能与实现分析
数据结构·qt