网络编程(四) EPOLL

 

epoll的优点在于可以支持大量的文件描述符

 


 

epoll相关的系统调用:

 

int epoll_create(int size);

 

参数size的含义我至今没搞懂,如果大家有谁准确的知道的话请一定要留言!

 

 


 

int epoll_wait(int epfd, struct epoll_event * events, int maxevents, int timeout);

epoll_wait在每一帧中都会别检查指定的epfd上发生的事件,并且返回到events中,另外事件数量nev作为返回值返回。

事件(部分)有:

EPOLLIN 可读事件

EPOLLOUT 可写事件

EPOLLRDHUP 对端关闭了套接字或者是关闭了写通道(close(fd)或shutdown(fd, SHUT_WR))。

EPOLLPRI 有紧急数据可读。

EPOLLERR 当文件描述符发生错误的时候,这个epoll总是会帮你设置好这个事件,所以你不需要再设置。

 

timeout的单位是毫秒。

 

需要注意的是epoll_wait会受到信号的干扰。


 

int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);

epoll_wait的控制码:

EPOLL_CTL_ADD:将文件描述符绑定到epfd。

EPOLL_CTL_DEL:解除epfd和文件描述符之间的绑定。

EPOLL_CTL_MOD:修改某个文件关心的事件。

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值