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、效率高

相关推荐
-dcr4 小时前
37.华为云网络类云服务
网络·vpn·vpc·elb·对等连接
东方隐侠安全团队-千里5 小时前
第4节 ARPANet 第一次意识到“密码不能明着传”
网络·安全·web安全
FreeBuf_5 小时前
QNAP紧急修复Pwn2Own 2025比赛中遭利用的7个0Day漏洞
网络·安全·web安全
上海云盾安全满满5 小时前
安全服务是什么
网络·安全
面向星辰5 小时前
扣子开始节点和结束节点
java·服务器·前端
一匹电信狗6 小时前
【C++】封装红黑树实现map和set容器(详解)
服务器·c++·算法·leetcode·小程序·stl·visual studio
xixixi777776 小时前
内部网关协议——OSPF 协议(开放最短路径优先)(链路状态路由协议)
网络·智能路由器
大锦终6 小时前
【Linux】网络层与数据链路层中重点介绍
linux·运维·服务器·网络
FreeBuf_7 小时前
思科CCX软件曝高危RCE:攻击者可利用Java RMI和CCX Editor获取root权限
java·网络·安全
lht6319356127 小时前
从Windows通过XRDP远程访问和控制银河麒麟 v10服务器
linux·运维·服务器·windows