
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 · 922 阅读 · 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 · 4008 阅读 · 0 评论 -
分析淘宝网络框架tbnet
读写线程执行eventLoop,eventLoop循环的通过EpollSocketEvent来获取准备好的描述符,准备好的事件有两种情况,分别是监听描述符上的事件(由TcpAcceptor处理)和普通请求建立的描述符(由TcpComponent处理)。TcpAcceptor将接到的请求添加到epoll集合中,TcpComponent则会调用Connect的handPacket接口,该接口会根据服务器的参数,调用iServerAdaptor的handlePacket或handleBatchPacket接口。原创 2013-11-28 23:07:58 · 3004 阅读 · 0 评论 -
淘宝tair安装心得
这几天有空把淘宝开源的tair安装一下,刚开始我是在虚拟机上安装的(内存不大),所以dataserver.conf配置的内存过小,导致启动不成功。启动初始的slab > 配置设置内存。直接导致内存池初始化就报错。 1.下载tair svn checkout http://code.taobao.org/svn/tair/trunk 因为tair用到淘宝网络库tbnet 2.下载 tbne原创 2013-11-28 23:55:01 · 3281 阅读 · 0 评论