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

一、目的

对监听套接字进行管理

二、功能实现

1、创建一个监听套接字

2、启动读事件监控

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

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

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

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

三、 成员变量

用于创建监听套接字

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

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

回调函数

四、成员函数

构造函数

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

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

可读事件回调

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

启动可读事件

相关推荐
星恒随风26 分钟前
Linux Socket TCP编程(二):逐文件重构多进程、多线程与线程池服务器,深入fork、pthread_create、popen和std::bind
linux·服务器·笔记·学习·tcp/ip
晚风叙码26 分钟前
Linux 进程概念(下):程序地址空间与虚拟内存
linux·服务器·算法
无足鸟ICT42 分钟前
【RHCA+】影响Linux系统性能的因素
linux·运维·服务器
论文复现现场1 小时前
DeepSeek V4.1 Flash 和 V4 Pro 有什么区别?API 价格、性能与迁移建议
java·服务器·人工智能·python·大模型api·deepseek·deepseek v4.1
沫璃染墨1 小时前
从零入门计算机网络系列(十):HTTP协议进阶——从资源路径解析到状态码与请求头详解
linux·运维·服务器·网络·c++·http
oioihoii1 小时前
Windows部署MySpeed自建测速服务:Docker运行后直接测速,再配置固定公网地址远程查看
运维·docker·容器
Sayai1 小时前
Ubuntu 开发环境搭建避坑(一):网卡 EEE 致 60% 周期性丢包,Realtek RTL8125 网络黑洞排查与修复
linux·运维·网络·ubuntu·性能优化
墨染天姬1 小时前
【linux 网络1】数据怎么进网卡到内核?
linux·运维·网络
迪康coolmu1 小时前
金融客户数据合规落地:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·数据库·经验分享·安全·网络安全·金融
郭小李1 小时前
转发与重定向
java·服务器·数据库