
网络编程基础知识
文章平均质量分 72
我要这脸有何用
今天的不开心就让他过去吧,这样每天都能开开心心.
展开
-
五种IO模型
在调用read函数的时候要经过两个阶段: 1. 等待数据阶段:没有数据→数据就绪 2. 数据拷贝阶段:将数据从内核拷贝到用户态(read),或者从用户态拷贝到内核态(write),这个阶段数据拷贝→拷贝完成。 阻塞IO 在这种情况下调用read的时候,如果数据还没有准备好,那就会被阻塞,等到准备好并拷贝完返回结果才解除阻塞状态,所以他会在两个阶段都阻塞。系统调用一般都是阻塞型的,只有当结果返回的时候才会解除阻塞状态。 非阻塞IO 可以设置socket来让其变成非阻塞IO(fcnt...原创 2022-03-26 21:30:59 · 529 阅读 · 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 · 2086 阅读 · 0 评论