epoll的简单使用

结构体:生成的也是一个fd值,最后需要关闭 

int epfd = epoll_create(256);

会监听放入的socket

事件监听:ev.events可以设置监听socket什么动作以及什么模式

    epoll_event ev;
	/*注册事件,放入ev中*/
	ev.data.fd = server.get_sock(); 
	/*消息进来,边缘触发*/
	ev.events = EPOLLIN | EPOLLET;
	
	epoll_ctl(epfd, EPOLL_CTL_ADD, server.get_sock(), &ev);

阻塞等待:events为产生动作的epoll_event,还可以设置接受的个数以及阻塞的时间

int count = epoll_wait(epfd, events, 20, 500);

总结:其实和select还是有点类似的

select是将需要监听的socket放入read、write、exp就会监听对应时间

而epoll则是对每一个socket设置监听的事件

差别:ET触发

select是进行全部的遍历、ET触发似乎不是全部遍历,还需要学习

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值