08_TCP服务器:一请求一线程 epoll

news/2025/11/20 13:25:18/文章来源:https://www.cnblogs.com/Xiaomostream/p/19246710

一. TCP的服务器

  1. 基础部门, 网络编程
  2. 并发服务器:
    1)一请求一线程
    2)IO多路复用, epoll
  3. TCP服务器百万连接:将在 09_百万并发服务器进行介绍。

二. 服务器:前台迎宾 --> listen; 服务员 --> clientfd

多个客户端,如何区分哪个客户端发送的?
sockfd解决不了,需要借助应用协议。

随着客户端越来越多,比如100w,不适合使用一请求以线程的方式, posix thread 8M . 1G内存 --> 可以开128个线程

三. epoll是什么?
比如一个服务器(小区),里面有很多个客户端,每个客户端都在服务器有连接(socket),每个IO相当于小区的住户收发快递
epoll是来管理这些IO,能够检测到哪个IO有数据,从而把这个提示返回给应用层,便于实现业务逻辑。这个epoll相当于小区的快递员,来检测哪个住户有快递了。

  1. epoll_create() :聘请一个快递员
  2. epoll_ctl() : 添加/关闭一个IO; update一个IO从A到B
  3. epoll_wait() : 多久时间去一次小区

四. 关于IO有没有数据?

  1. 一种是检测是否有数据 水平触发, 可触发多次,可分多次读完
  2. 一种是检测数据从无到有 边沿触发, 只触发一次,一次性读完
    五. 面试时:epoll水平触发与边沿触发说清楚
    开发时:要注意sockfd、clientfd等 IO的变化有没有在epoll的集合里
    sockfd, epoll

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/970958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

真正的宝藏都藏在小众软件里,这 6 个强到怀疑人生!

你有没有这种感觉: 电脑明明配置不错,但每天用起来就是不顺手—— 找文件慢、窗口乱、操作重复、不够高效、工具不贴心…… 很多人会以为是电脑问题,其实不是。 往往是你没遇到那些“真正的宝藏软件”。 不是那些大…

【Spring Boot 报错已解除】别让端口配置卡壳!Spring Boot “Binding to target failed” 报错解决思路

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

水质COD测定仪品牌厂家推荐:便携式COD测定仪/快速COD测定仪详解

在当今社会,随着环境保护意识的日益增强,水质监测成为了关乎生态健康与人类福祉的重要议题。化学需氧量(COD)作为衡量水体污染程度的关键指标之一,其准确测定对于评估水质状况、指导污水处理及保护水环境具有不可…

2025年11月托福一对一机构哪家强?名师定制/精准提分/个性化辅导机构推荐

2025年11月托福一对一机构哪家强?名师定制/精准提分/个性化辅导机构推荐随着留学申请竞争的日趋激烈,托福成绩作为核心申请指标,其提分需求呈现精细化、个性化趋势。托福一对一课程因能精准匹配学员基础、针对性解决…

【第7章 I/O编程与异常】Python异常捕获终极指南:哪些能拦、哪些拦不住?(通俗+深度双解析)

Python异常捕获终极指南:哪些能拦、哪些拦不住?(通俗+深度双解析) 在Python编程中,try-except 是保障程序健壮性的核心机制,就像给程序装了“智能安全盾”——能精准拦截预期内的错误,却挡不住底层逻辑漏洞或系…

STM32学习(MCU控制)(USART) - 指南

STM32学习(MCU控制)(USART) - 指南2025-11-20 13:05 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !…

DeepSeek-OCR本地部署教程:DeepSeek突破性开创上下文光学压缩,10倍效率重构文本处理范式 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

NET 8 使用 rabbitMQ

RabbitMQ.Client 7.2 推荐使用异步 var connection = factory.CreateConnection(); var channel = connection.CreateModel();//替换为下面 using var connection = await factory.CreateConnectionAsync(); using var…

2025最新托福机构清单:从基础到110+,5大品牌助你高效冲刺目标分

2025最新托福机构清单:从基础到110+,5大品牌助你高效冲刺目标分在托福备考的赛道上,选对培训机构往往能让复习效率翻倍。无论是追求基础夯实、高分突破,还是需要个性化定制方案,合适的机构都能提供精准助力。以下…

详细介绍:【基于Selenium的智能滑块验证码破解技术详解】

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

使用React如何静默打印页面:完整的前端打印解决专业的方案

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025-11-20 Thursday docker默认占用的IP地址 修改

docker默认会占用一个ip地址,默认为 172.17.0.1/24 有时候可能会与局域网内的其他计算机的地址冲突,要修改 /etc/docker/daemon.json 如果文件不存在,直接添加 内容为: { "bip": "192.168.100.100/…

常见的ai工具

将录音转换为文本将音频或者视频文件转换文本音乐aisuno

AI编程:用 CodeBuddy 飞快构建本地 SQLite 记账本,小白也能轻松上手!

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

水波紋特效

Water Effectbody { margin: 0; padding: 0; overflow: hidden; background-color: rgba(0, 0, 0, 1) } canvas { display: block; width: 100%; height: 100% }喜欢的话,请点赞,转发、收藏、评论,谢谢!

《说苑敬慎》中的故事

《说苑敬慎》中的故事 孙叔敖担任楚国宰相时,全国官吏百姓纷纷前来祝贺。唯独有一位老人,身着粗布衣、头戴白冠,并不是来道喜,而是来“吊唁”。 孙叔敖整理衣冠迎接,问他:“楚王不知我无德,误让我做了宰相。人人…

任何事物,都是用工具逻辑和方法策略去证明,而不是指定被某个人和组织去证明

ECT-OS-JiuHuaShan/https://orcid.org/0009-0006-8591-1891真理的证明权,在工具逻辑,不在任何主体。 这是最终解锁——不仅拒绝了还原论的外部验证,也拒绝了个人/组织的权威指定,将合法性锚定于工具逻辑的自我执行…

实用指南:[从零开始面试算法] (04/100) LeetCode 136. 只出现一次的数字:哈希表与位运算的巅峰对决

实用指南:[从零开始面试算法] (04/100) LeetCode 136. 只出现一次的数字:哈希表与位运算的巅峰对决2025-11-20 12:35 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal…

GYM106007D-Master of the Arena

GYM106007D-Master of the Arena 题目大意 有 \(n\) 个战士,给你一个 \(n*n\) 的矩阵,\(a_{ij}==1\) 表示 \(i\) 战士一定可以打败 \(j\) 战士; \(a_{ij}==0\) 表示 \(i\) 战士一定输给 \(j\) 战士; \(a_{ij}==?…

最牛Ai视频工具 Viggle 放大招了?开放终身会员,积分永不过期!

我没眼花吧,终身超级会员,积分永不过期,这是要卷上天的节奏啊。 应该是为满足众多创作者的请求,平台才决定开放此套餐,以满足低频且长期创作的朋友,不但价格非常优惠,重点是积分永不过期,随时可创作。 这套餐多…