![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程基础知识
文章平均质量分 72
我要这脸有何用
今天的不开心就让他过去吧,这样每天都能开开心心.
展开
-
五种IO模型
在调用read函数的时候要经过两个阶段:1. 等待数据阶段:没有数据→数据就绪2. 数据拷贝阶段:将数据从内核拷贝到用户态(read),或者从用户态拷贝到内核态(write),这个阶段数据拷贝→拷贝完成。阻塞IO在这种情况下调用read的时候,如果数据还没有准备好,那就会被阻塞,等到准备好并拷贝完返回结果才解除阻塞状态,所以他会在两个阶段都阻塞。系统调用一般都是阻塞型的,只有当结果返回的时候才会解除阻塞状态。非阻塞IO可以设置socket来让其变成非阻塞IO(fcnt...原创 2022-03-26 21:30:59 · 487 阅读 · 0 评论 -
深入理解epoll
intmain(){listen(lfd,...);cfd1=accept(...);cfd2=accept(...);efd=epoll_create(...);epoll_ctl(efd,EPOLL_CTL_ADD,cfd1,...);epoll_ctl(efd,EPOLL_CTL_ADD,cfd2,...);epoll_wait(efd,...)}和epoll相关的函数主要有三个: ep...原创 2022-03-25 19:32:50 · 2016 阅读 · 0 评论