会阻塞的函数:connect,accept,send/recv/sendto/recvfrom等读写函数.不会阻塞的函数:bind, listen,socket, closesocket.linux网络通信模型有:阻塞IO模型(同步),非阻塞IO模型(拷贝同步),IO复用模型(多线程同步),信号驱动...
分类:
系统相关 时间:
2015-08-19 00:28:26
阅读次数:
206
linux的内核将所有的外部设备都看作一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令
,返回一个file descriptor(fd,文件描述符)。而对一个socket的读写也会有相应的描述符,成为socketfd
(socket描述符),描述符就是一个数字,它指向内核中的一个结构体(文件路径,数据区等一些属性)。
根据unix编程对I/O模型的分类,unix提...
分类:
Web程序 时间:
2015-08-18 22:45:17
阅读次数:
179
原文:http://blog.csdn.net/historyasamirror/article/details/5778378IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)分类:简单技术2010-07-31 12:5160126人阅读评论(84)收藏举报ioasynchronoussocket...
分类:
其他好文 时间:
2015-08-18 19:06:29
阅读次数:
97
阻塞I/O(blocking I/O)
非阻塞I/O (nonblocking I/O)
I/O复用(select 和poll) (I/O multiplexing)
信号驱动I/O (signal driven I/O (SIGIO))
异步I/O (asynchronous I/O (the POSIX aio_functions))
前四种都是同步,只有最后一种才是异步IO...
分类:
系统相关 时间:
2015-08-17 12:03:41
阅读次数:
202
用c++开发基于tcp协议的文件上传功能2005我正在一家游戏公司做程序员,当时一直在看《Windows网络编程》 这本书,把里面提到的每种IO模型都试了一次,强烈推荐学习网络编程的同学阅读,比 APUE 讲的更深入这是某个银行广告项目(p2p传输视频)的一部分IO模型采用的阻塞模式,文件一打开就直...
分类:
编程语言 时间:
2015-08-17 06:22:04
阅读次数:
175
基本概念的学习: 同步&&异步 同步:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或者任务的执行会导致整个流程的暂时等待,这些事件没有办法并发地执行; 异步:如果有多个任务或者事件发生,这些事件可以并发地执行,一个事件或者任务的执行不会导致整个流程的暂时等待。 这就是同步和异步。举个简单的例子,假如有一个任务包括两个子任务A和B,对于同步来说,当A在执行的过程...
分类:
其他好文 时间:
2015-08-15 10:28:20
阅读次数:
146
IO 模型IO 模型Table of Contents总的过程IO 模型请求如何被处理请求如何被响应IO 模型的 4 种机制IO 模型的 5 种 I/O 模型白话理解来源 马哥 Linux 的视频总结:总的过程比如, 我们访问 http://www.example.com/index.html 那么...
分类:
其他好文 时间:
2015-08-13 14:01:26
阅读次数:
171
关于网络IO的同步、异步、阻塞、非阻塞的文章网上有很多,搜索了对比了一下,观点也各不相同,即使是wiki也把异步和非阻塞区分得不是很清楚。下面我就结合《Unix网络编程 卷1》中的介绍,来说一说自己的理解。
IO模型
首先我们要先知道目前unix存在的五种IO模型,分别是:
阻塞型IO(blocking I/O) 非阻塞型IO(noblocking I/O)...
分类:
其他好文 时间:
2015-08-08 16:42:57
阅读次数:
96
阻塞IO模型
阻塞IO是最通用的IO,使用这种IO接受数据时,在数据没有到来之前程序会一直等待。
非阻塞IO
当把套接字设置成非阻塞IO时,则对于每次请求,内核都不会阻塞,会立即返回。当没有数据时,会返回一个错误。
IO复用
使用IO复用的可以在等待的时候假如超时时间,当超时时间没有到达的时候情况与阻塞IO是一样的,当时间到达,但是没有数据是,系统会自动返回,不在等待。s...
分类:
其他好文 时间:
2015-07-30 21:25:39
阅读次数:
132
socket阻塞与非阻塞,同步与异步作者:huangguisu1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一....
分类:
系统相关 时间:
2015-07-23 21:33:07
阅读次数:
125