linux epoll问题
本帖最后由 SyzCools 于 2013-12-30 22:01:39 编辑 我测试,linux下普通的网络模型
server:
listen(sock,10)
sleep(10);//10秒
do
{
int ap = accept(sock,...);//在sleep 10秒后,可以接受到2个 客户端
}while(true)
client:
开启2个client
在sleep 10秒后,可以接受到2个 客户端
但是 使用epoll
----------------------------------------------------------------
int epfd = epoll_create(10);
...
listen(sock,10)
sleep(10);//10秒
do
{
int nfds = epoll_wait(epfd,events,10,-1);
//①这里nfds最大也就是1,从来没有大过1
for(int i=0;i<nfds;i++)
{
int ap = accept(sock,...);//②在sleep 10秒后,只能接受1个客户端,其中一个客户端被丢失了
}
}while(true)
问:上面①②到底是什么情况
[解决办法]
解决了就好。