TCP并发服务器

单循环服务器:同一时刻,只能处理一个客户端的任务

并发服务器:同一时刻,只能处理多个客户端的任务

UDP 是具备并发性的,是因为UDP是无连接的,所以处理器可以处理过来

TCP实际上是单循环的服务器,只能建立一对一连接,其他人不能再与其建立连接,之前只有一个套接字

现状为了实现并发,我们给每一个连接都给予一个套接字

多进程流程:socket()---bind()---listen()---accept() ---fork()

IO多路复用:多个读写复用一个进程(在Linux里面就是文件读写)

阻塞IO:fgets,scanf,read,recv,getchar(用来实现多个IO同步的效果)

同步:具有先后顺序的效果(CPU占用率低,执行效率低)

非阻塞IO:非阻塞就是访问内核,有数据带着数据返回,没有数据也带着返回

(使用轮询方式实现,CPU占用率高)

获取方法: 1.获取原文件描述符的属性

2、增加非阻塞属性

3、设置新属性

信号驱动IO:实现:(当终端有输入的时候应该会触发,发射信号,才会执行)

1、增加异步属性 O_ASYNC(异步),O_SYNC(同步)

2、关联信号和当前的进程

3、注册信号

特点: 1、异步通知io的方式,节省CPU

2、只能检测少量io

3、效率高

相关推荐
IT大白鼠8 小时前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
Julien20048 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
kekekzt10 小时前
TCP协议的粘包问题介绍,IP分片,MTU,MSS,滑动窗口的概念及之间的关系
网络·网络协议·tcp/ip
2601_9620746810 小时前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
大模型丫丫11 小时前
Hermes Agent:轻量级智能体框架实战指南
大数据·运维·服务器
mooooooooooye12 小时前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh
Blockchina12 小时前
Codex 实战:从一句需求到可验收的 Linux 主机巡检脚本
运维·服务器·网络
Best-Wishes13 小时前
BurpSuite Pro教育版在linux系统中配置
linux·运维·服务器·网络安全·burpsuite
Java后端的Ai之路14 小时前
14、Python - 责任链模式
服务器·开发语言·人工智能·python·责任链模式
江安下小雨14 小时前
muduo网络库(十六):新增连接池模块
网络·c++