0
点赞
收藏
分享

微信扫一扫

ACM模式数组构建二叉树Go语言实现

天际孤狼 2023-08-30 阅读 38

文章目录:

一:select

1.基础API 

select函数

思路分析

select优缺点

2.server.c

3.client.c

二:poll

1.基础API 

poll函数 

poll优缺点

read函数返回值

突破1024 文件描述符限制

2.server.c

3.client.c

三:epoll

1.基础API

epoll_create创建   epoll_ctl操作  epoll_wait阻塞

epoll实现多路IO转接思路

epoll优缺点 

ctags使用

2.server.c

3.client.c

4.事件模型(epoll 事件触发模型ET和LT)

4.1 server.c

4.2 client.c

5.epoll 反应堆模型


select、poll以及epoll都是系统内核来对网络通信中的通信套接字(文件描述符)来进行监视
能够在与服务器连接的大量客户端中识别出与服务器请求了数据交换的客户端,并把它们所对应的套接字通过函数返回,交给服务器
此时服务器只需要和请求了数据交换的客户端进行通信即可,而其它的套接字则不做任何处理

因此,比起服务器自身每次去轮询查询并处理每个套接字的效率要高很多

一:select

1.基础API 

2.server.c

3.client.c

二:poll

这个函数是一个半成品,用的很少 

1.基础API 

2.server.c

3.client.c

三:epoll

epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率:都连接但不发送数据 

1.基础API

2.server.c

3.client.c

4.事件模型(epoll 事件触发模型ET和LT

4.1 server.c

4.2 client.c

5.epoll 反应堆模型

epoll基于非阻塞I/O事件驱动

举报

相关推荐

0 条评论