网络编程
shark.zyq
work@alibaba
hangzhou
展开
-
Linux epoll
定义: epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合来传递结果而不是迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一个原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核转载 2014-07-14 14:46:15 · 501 阅读 · 0 评论 -
socket之异步connect
异步connect:1.将打开的socket设为非阻塞的,可以用fcntl(socket, F_SETFL, O_NONBLOCK); 2.发connect调用,这时返回0说明已经连接成功了;如果返回-1,但是errno被设为EINPROGRESS或者EWOULDBLOCK,意即connect仍旧 在进行还没有完成. 如果errno是其他值,则说明连接失败。3.如果是连原创 2014-11-26 19:22:36 · 4898 阅读 · 0 评论 -
Java NIO框架之 Mina
Mina:Mina(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 Mina 版本2.04支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序,Mina 所支持的功能也在进一步的扩展中。目前,正在使用原创 2014-09-05 10:40:13 · 976 阅读 · 0 评论 -
反应器(Reactor)模式
概述Java NIO非堵塞技术实际是采取反应器模式,或者说是观察者(observer)模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。同步和异步区别:有无通知(是否轮询)堵塞和非读者区别:操作结果是否等待(是否马上又返回值),只是设计方式的不同NIO 有一个主要的类Selector,这个类似原创 2015-01-09 18:45:48 · 553 阅读 · 0 评论