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

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

流程

配置文件

模板全特化

需要通用模板做声明

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

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

Defer RAII

服务器流程

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

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

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

线程池是什么?

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

详细的结构图:

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

相关推荐
User_芊芊君子3 分钟前
RStudio 鸿蒙 PC 适配全记录:以 Qt 原生工作区承载嵌入式 R
qt·r语言·harmonyos
云边有个稻草人1 小时前
Tera Term 鸿蒙 PC 适配全记录:用 ArkUI 与 Native C++ 重建多协议终端工作流
c++·stm32·harmonyos
牛油果子哥q1 小时前
多模态大模型工程入门:图文Embedding、图文RAG、图片解析、C++多模态接口封装实战
开发语言·c++·embedding
颜颜yan_1 小时前
Firebird 鸿蒙 PC 适配全记录:打通数据库内核、Qt 管理端与原生维护工具
数据库·qt·harmonyos
6Hzlia2 小时前
【Classic 150 刷题计划】 LeetCode 134. 加油站 | C++ 贪心算法与局部否决逻辑
c++·leetcode·贪心算法
夜不会漫长2 小时前
C++:类和对象(1)
java·开发语言·c++
6Hzlia2 小时前
【Classic 150 刷题计划】 LeetCode 274. H 指数 | C++ 二分答案法 (单调性降维打击)
c++·算法·leetcode
鸽芷咕2 小时前
Mu Editor 鸿蒙 PC 适配全记录:用 Qt 与嵌入式 CPython 重建教学型 Python IDE
python·qt·harmonyos
长友cy2 小时前
官方示例scene graph - vulkan阅读
qt
朽棘不雕3 小时前
Qt背景(简单了解Qt)
qt