仿muduo库实现高并发服务器---监听描述符Acceptor模块

一、目的

对监听套接字进行管理

二、功能实现

1、创建一个监听套接字

2、启动读事件监控

3、事件触发后,获取新链接

4、为新链接创建Connection进行事件管理(这一步不是Acceptor模块操作,应该是服务器模块)

因为Accptor模块只进行监听链接的管理,因此获取到新连接的描述符后,对于新连接描述符如何处理其实并不关心,对于新链接如何处理,应该是服务器模块来管理的

服务器模块,实现一个对于新连接描述符处理的函数,将这个函数设置给Accptor的回调函数

三、 成员变量

用于创建监听套接字

用于监听的套接字进行监控

对于监听套接字进行事件监控

回调函数

四、成员函数

构造函数

不能将启动读事件监控放在构造函数中,必须再设置回调函数后,再启动,否则可能造成启动监控,立刻就有事件处理的时候,回调函数还没设置好,得不到处理,造成资源泄漏

创建服务器(创造 绑定 监听)

可读事件回调

获取新链接,调用回调函数

启动可读事件

相关推荐
Brilliantwxx4 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
不怕犯错,就怕不做4 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
richdata5 小时前
商品数字化不是先做大数据,而是先把数据变成可用决策
大数据·运维·数据治理·商品数字化·智能补货·ai商品决策
weixin_416667965 小时前
【无标题】
运维·服务器·网络
一池秋_6 小时前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
上海云盾-小余8 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
IT大白鼠8 小时前
Docker 私有仓库管理:Harbor 企业级仓库搭建与镜像全生命周期管理
运维·docker·容器
戴西软件8 小时前
戴西iDWS.3DViz Suite数据轻量化可视化软件,从传统桌面软件向云端协同的重大突破
大数据·运维·网络·人工智能·机器学习·3d
我命由我123459 小时前
Linux - Linux/POSIX 路径斜杠折叠规则
linux·运维·服务器·android studio·android jetpack·android-studio·android runtime
姚不倒9 小时前
Nginx 反向代理:5 种负载均衡策略与实战
运维·nginx·负载均衡