原文链接:http://blog.csdn.net/colzer/article/details/8169075IO概念Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个f...
分类:
系统相关 时间:
2014-08-29 10:36:17
阅读次数:
346
一、概述 ? ? ? ? ? acl 库的 C 库(lib_acl) 的 aio 模块设计了完整的非阻塞异步 IO 通信过程,在 acl 的C++库(lib_acl_cpp) 中封装并增强了异步通信的功能,本文主要描述了 acl C++ 库之非阻塞IO库的设计及...
分类:
其他好文 时间:
2014-08-25 21:20:25
阅读次数:
438
jdk1.7的新特性,代码上比nio写着舒服,但是性能貌似没比nio强。。。 import?java.net.InetSocketAddress;
import?java.nio.ByteBuffer;
import?java.nio.channels.AsynchronousChannelGroup;
import?java.ni...
分类:
编程语言 时间:
2014-08-22 18:15:59
阅读次数:
397
Java NIO:NIO概述 在上一篇博文中讲述了几种IO模型,现在我们开始进入Java NIO编程主题。NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题。本文下面分别从Java NIO的几个基础概念介绍起。 以下是本文的目录大纲: 一.NIO中的几个基础概念 二.Ch...
分类:
编程语言 时间:
2014-08-18 18:09:42
阅读次数:
287
最近在学习IO模型,就突然想到了epoll属于哪个IO模型这个问题。要研究这个问题,我们首先要知道有哪些常用的IO模型。
常见的IO模型如下:
阻塞IO:程序阻塞直到IO可用。最简单的IO模型,你平时调用的recvfrom接收函数就属于这个模型。
非阻塞IO:程序调用IO函数后立刻返回,无论当前IO可用不可用。如果你把套接字设置成了非阻塞模式,那么你使用的就是这个模型了。
复用IO:程序阻...
分类:
其他好文 时间:
2014-08-16 16:33:00
阅读次数:
201
从事网络编程的应该都知道传输层的主要协议是TCP/UDP,关于两者的区别网络上有好多资料这里就不多说介绍,然而数据的传输过程大都有个IO操作,因此就衍生出了BIO,NIO,AIO三大模型,关于这三者的区别本系列博客有介绍,欢迎大家参考并指正,本篇主要写基于Java实现的NIO编程模..
分类:
编程语言 时间:
2014-08-15 13:01:59
阅读次数:
291
MINA、Netty、Twisted为什么放在一起学习?它们的共同特点:event-driven以及asynchronous。它们都是事件驱动、异步的网络编程框架。由此可见,它们之间的共同点还是很明显的。所以我这里将这三个框架放在一起,实现相同的功能,不但可以用少量的精力学三样东西,而且还可以对它们之间进行各方面的对比。...
分类:
Web程序 时间:
2014-08-15 12:57:19
阅读次数:
272
首先,介绍几种常见的I/O模型及其区别,如下: blocking I/O nonblocking I/O I/O multiplexing (select?and?poll) signal driven I/O (SIGIO) asynchronous I/O (the POSIX?aio_functions) blocking I/O? 这...
分类:
其他好文 时间:
2014-08-04 14:47:17
阅读次数:
241
/// 用完成例程(Completion Routine)实现的重叠I/O模型/// 异步IO模型/// 用完成例程来实现重叠I/O比用事件通知简单得多。在这个模型中,主线程只用不停的接受连接/// 即可;辅助线程判断有没有新的客户端连接被建立,如果有,就为那个客户端套接字激活一个/// 异步的WS...
分类:
其他好文 时间:
2014-08-03 18:00:25
阅读次数:
250
最近在看服务器框架的搭建,看了不少,都是零零碎碎的,觉得看的差不多了,可以写点最后的总结了,然后,竟然发现了这篇文章,总结做的特别好,肯定比我总结写要好多了,所以我也就不写了,直接转吧。。。。。。套接字模式:锁定、非锁定套接字I/O模型: select(选择)WSAAsyncSelect(异步选择)...