首页UC › 自己写的epoll框架(第七根弦)

自己写的epoll框架(第七根弦)

自己写的epoll框架,不知道为什么listen的第二个参数必须写0,否则用robot并发连接测试的时候,发现连接完成后有大量类似下图的情况。在用telnet发送数据时,没有回显。只要服务端不重启,这个一直存在,而且后面的client再连接也收不到消息
20151103111102
条数刚好是listen第二个参数的大小,废话不说,知道如何解决这个问题的教教我啊!!!

上epoll.cpp的代码

感觉问题也有可能出现在测试并发的程序上:
robot.cpp

==================== 问题已解决 ====================
问题终于解决了,EPOLLET模式下高并发连接,accept只触发一次,所以应该在把accept也放到while循环内,判断accept的返回值,返回值为-1并且errno的值为EAGAIN或EWOULDBLOCK时,说明可以退出该循环了。
下面是新的epoll.cpp的代码:

发表评论