![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
幽灵之使
善于交际,工作自信
展开
-
epoll在LT和ET模式下的读写方式
在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, 意思是:* EAGAIN: 再试一次* EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被block* perror输出: Resource temporarily unav转载 2013-07-26 16:38:03 · 898 阅读 · 0 评论 -
epoll事件处理机制详解
Linux I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。Linux 2.6内核中有提高网络I/O性能的新方法,即epoll 。1、为什么select落后 首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在我用的2.6.15-25-386内转载 2013-07-26 16:40:52 · 3915 阅读 · 0 评论 -
分析淘宝网络框架tbnet
读写线程执行eventLoop,eventLoop循环的通过EpollSocketEvent来获取准备好的描述符,准备好的事件有两种情况,分别是监听描述符上的事件(由TcpAcceptor处理)和普通请求建立的描述符(由TcpComponent处理)。TcpAcceptor将接到的请求添加到epoll集合中,TcpComponent则会调用Connect的handPacket接口,该接口会根据服务器的参数,调用iServerAdaptor的handlePacket或handleBatchPacket接口。原创 2013-11-28 23:07:58 · 2964 阅读 · 0 评论 -
淘宝tair安装心得
这几天有空把淘宝开源的tair安装一下,刚开始我是在虚拟机上安装的(内存不大),所以dataserver.conf配置的内存过小,导致启动不成功。启动初始的slab > 配置设置内存。直接导致内存池初始化就报错。1.下载tairsvn checkout http://code.taobao.org/svn/tair/trunk因为tair用到淘宝网络库tbnet 2.下载 tbne原创 2013-11-28 23:55:01 · 3218 阅读 · 0 评论