码迷,mamicode.com
首页 >  
搜索关键字:select、poll、epoll    ( 221个结果
epoll 回显服务器源码
在写epoll回显服务器代码之前,可以先看看上一篇文章:select poll epoll三者之间的比较。最近在继续学习网络编程中的服务端编程中,了解到很多网游服务器是在IOMP(IO完成端口)框架下写的,但是这种方式只能在 Windows 下使用,奇了怪了,这么好的东西为什么不在Linux下也.....
分类:其他好文   时间:2015-01-19 22:17:52    阅读次数:253
NIO的一坑一惑小记
前言 不知不觉,已那么长时间没有更新东西了,说来真是汗颜啊。(主要是最近在技术上豁然开朗的感觉越来越少了-_-|||) 最近一直在学习Linux相关的东西。又一次接触到了I/O复用模型(select/poll/epoll),由于好久没在用NIO写过代码了,今天就小试写个例子,以巩固下对I/O复用.....
分类:其他好文   时间:2015-01-14 12:27:58    阅读次数:291
selector的理解
对于nio这块估计在几年前就有关注,知道非阻塞,线程池,缓冲池,io的模式select,poll,epoll,甚至epoll中的et,lt.但是最近才有时间实际看了看netty的源码,才发现原来selector可以这么用,在我的印象中觉得一个服务其实一个selector就够用了,并且本身对...
分类:其他好文   时间:2014-12-19 11:59:26    阅读次数:164
linux内核epoll实现分析
epoll与select/poll的区别      select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪,能够通知程序进行相应的操作。      select的本质是采用32个整数的32位,即32*32= 1024来标识,fd值为1-1024。当fd的值超过1024限制时,就必须修改FD_SETSIZE的大小。这个时...
分类:系统相关   时间:2014-12-06 14:07:16    阅读次数:326
Select、Poll与Epoll比较
(1)select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。 select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,事实上从现在看来,这也是它所剩不多的优点之一。 select的一个...
分类:其他好文   时间:2014-10-29 00:20:30    阅读次数:366
高性能网络服务器--I/O复用 select poll epoll_wait之间的区别
一、select        使用的集合的方式,最多只能监听1024个文件描述符,内部使用位操作,将相应的位置为1或者置为0,需要将可读、可写、异常的三类事件分开来用,内部使用轮询的方法,每次返回都需要将所有的套接字从内核到用户空间之间进行拷贝。 二、poll        比select稍微好一点,也是在指定时间内轮询一定数量的文件描述符,以测试其中是否有就绪。 三、epoll_wai...
分类:其他好文   时间:2014-10-26 23:03:38    阅读次数:353
Netty5源码分析(五) -- ByteBuf缓冲区
Netty的ByteBuf缓冲区实现地比Java本身的ByteBuffer更加灵活,方便。它的类结构也比较复杂,这里只说ByteBuf核心的几个要点。 1. 最重要的是要理解为什么要ByteBuf这个组件。主要还是因为基于select / poll / epoll这种IO多路复用技术的NIO是非阻塞同步IO的模型,由于是同步IO,需要用户线程自己来处理IO的读写,由于是非阻塞的,每次调用...
分类:Web程序   时间:2014-09-22 19:06:32    阅读次数:626
select, poll, epoll详解(二)
1. Select源码解析     基于2.6.28内核代码,select主要包含4个函数。     sys_select:处理时间参数,然后调用core_sys_select。     core_sys_select:处理三个fd_set参数(in, out, ex),然后调用do_select。     do_select:遍历所有的fd,做select/poll的工作。在合适的时机把...
分类:其他好文   时间:2014-09-19 01:12:44    阅读次数:192
select, poll, epoll区别详解(一)
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); int poll(struct pollfd *fds, nfds_t nfds, int timeout); int epoll_wait(int epfd, struct...
分类:其他好文   时间:2014-09-17 23:23:42    阅读次数:325
跨平台网络通信与服务器编程框架库(acl库)介绍
acl 工程从发布至今已经有近10年历史,已经被一些大公司的重要项目所使用,该工程提供了跨平台(LINUX, FreeBSD, WIN32, Solaris, MacOS)的网络通信库,其中包含了阻塞非阻塞两种通信方式,内部事件引擎支持 select/poll/epoll(linux)/kqueue(BSD)/devpool(solaris)/iocp(win32)/窗口消息(win32);另外,acl 库中的网络服务器框架是 acl 中最为重要的模块(其来源于著名的Postfix,由其中的 master ...
分类:其他好文   时间:2014-08-19 11:02:24    阅读次数:310
221条   上一页 1 ... 19 20 21 22 23 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!