ChinaUnix.net
相关文章推荐:

EPOLLIN

大家国庆快乐! 我正在做一个IM系统,用TCP连接,server使用epoll,因为不能确定client什么时候发消息以及什么时候收到消息,所以需要同时监控epollin和EPOLLOUT,我在论坛上也没有找到同时使用这两者的例子,这两者如果要一起使用,该怎么使用呢? 感谢先!如果有段代码最好^^

by larkinboy - C/C++ - 2010-10-08 00:06:26 阅读(8072) 回复(8)

相关讨论

服务端EPOLLET模式,两个线程,主线程和socket check线程。socket check线程的作用是检查心跳包的时间,如果心跳包超时,则主动close对应的socket,而不管这个socket是否还没关闭,这时将会触发主线程的epollin事件。主线程recv,errno返回EBADF(Bad file number)。请问对于主线程的epollin事件,怎样才可以识别是因为自己close socket引起的? socket check线程 部分代码 struct epoll_event ev; epoll_ctl(p->kdpfd, EPOLL_CT...

by 草中宝 - C/C++ - 2009-12-14 23:44:53 阅读(10111) 回复(15)

RT.... 大概程序如下: [code]struct epoll_event ev, revents[maxevents]; /* one fd is socket */ ev.data.fd = sockfd; ev.events = epollin | EPOLLPRI | EPOLLERR | EPOLLHUP; epoll_ctl(epfd, EPOLL_CTL_ADD, ev.data.fd, &ep); for(;;){ nfds = epoll_wait(epfd, revents, maxevents, -1); if(nfds > 0){ ... if(revents.data.fd == sockfd){ if(revents.events & epollin){ nread...

by Kallawa - C/C++ - 2009-11-25 10:22:35 阅读(3771) 回复(10)

hi,all 最近在开发一个网络游戏服务器,使用epoll的ET模式。看了网上很多的资料,一些基本的概念, 例如accept和recive要到返回EAGAIN或EWOULDBLOCK才停止。 问题: 如EPOLL的作者Davide Libenzi所说,如果你对一fd同时注册epollin | EPOLLOUT事件, 即使发送缓冲区并非由满变空,也会触发EPOLLOUT事件(参考链接:http://www.0x61.com/forum/post3712824.html)。 他指出使用epoll的最好是用ATM模式,当真正需要用...

by future0906 - C/C++ - 2012-02-06 12:04:03 阅读(15757) 回复(12)