Windows五个网络IO模型(服务器用)

1、选择select

2、异步选择WSAAsyncSelecct

3、事件选择WSAEventSelect                    100-500客户端使用

4、重叠IO Verlapped IO

5、完成端口Completion Port(常配合线程池,内存池技术一起使用)  10000-20000客户端使用

-----------------

客户端可以不用网络模型,直接用阻塞IO模型。

时间: 2024-08-05 19:32:18

Windows五个网络IO模型(服务器用)的相关文章

五种网络IO模型以及多路复用IO中select/epoll对比

下面都是以网络读数据为例 [2阶段网络IO] 第一阶段:等待数据 wait for data 第二阶段:从内核复制数据到用户 copy data from kernel to user 下面是5种网络IO模型 [阻塞blocking IO] 两阶段全程阻塞 recvfrom -> [syscall -> wait -> copy ->] return OK [非阻塞nonblocking IO] 第一阶段是非阻塞的不断检查是否数据准备好,第二阶段阻塞读取数据 recvfrom -&

五种网络IO模型

一:概述 在网络编程中,阻塞.非阻塞.同步.异步经常被提到,下面谈一下I/O在生活中的钓鱼场景(纯属虚构,如有雷同,纯属巧合). 1.阻塞式I/O:开始钓鱼,眼睛一直盯着,鱼儿上钩拉杆. 2.非阻塞式I/O:开始钓鱼,你一直怀疑鱼儿在偷吃鱼饵,一直拉杆,没有鱼,然后重复放杆拉杆,直到有钓上鱼. 3.I/O复用:开始钓鱼,但是你同时放了多条鱼竿,然后开始眼睛不断查看多条鱼竿,直到叼上鱼. 4.信号驱动:开始钓鱼,但是你的鱼竿很特殊,鱼儿上钩会发出声音通知你,你可以同时干别的事. 5.异步I/O:姜

五种网络IO模型-阻塞I/O、非阻塞I/O、I/O多路复用、信号驱动I/O、异步I/O

1.阻塞I/O模型 我去面馆吃面,点了碗面条,我也不知道做面条需要多久,也不敢出去,只能在那里坐着等.等值师傅做完面,我吃完面条后,再去逛街.这里的吃面就是I/O操作. 2.非阻塞I/O模型 我不甘心在这里等着无聊,我想这段时间继续逛商场,但是又怕面条做好了,所以,我逛一会就回来吧台看一眼!为了吃碗面,来来回回跑,差点没跑断腿! 3.I/O多路复用 我同时在不同的地方点了菜,要跑来跑去的轮询几十遍,累死了.后来,善良的管理员安装了电子屏幕:上面写着每个菜的状态,我需要去看屏幕,就知道数据准备好了

python学习四十三天(网络IO模型)

阅读目录 一 IO模型介绍 二 阻塞IO(blocking IO) 三 非阻塞IO(non-blocking IO) 四 多路复用IO(IO multiplexing) 五 异步IO(Asynchronous I/O) 六 IO模型比较分析 七 selectors模块 IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步.异步.阻塞.非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)I

网络IO模型

切记:IO特性不是由接口决定,而是由描述符(fd)的属性决定 本文内容目录: 一:网络IO模型的分类,各个模型的定义和特点 二:每个模型的原理和比较 三:每个模型的编程步骤.编程实例,以及注意细节. 一:网络IO模型的分类,各个模型的定义和特点 在网络IO模型中,有五种模型: * blocking IO              阻塞IO * nonblocking IO        非阻塞IO * IO multiplexing         IO多路复用 * signal driven

通过实例理解Java网络IO模型

网络IO模型及分类 网络IO模型是一个经常被提到的问题,不同的书或者博客说法可能都不一样,所以没必要死抠字眼,关键在于理解. Socket连接 不管是什么模型,所使用的socket连接都是一样的.以下是一个典型的应用服务器上的连接情况.客户的各种设备通过Http协议与Tomcat进程交互,Tomcat需要访问Redis服务器,它与Redis服务器也建了好几个连接.虽然客户端与Tomcat建的是短连接,很快就会断开,Tomcat与Redis是长连接,但是它们本质上都是一样的.建立一个Socket后

linux网络IO模型——阻塞、非阻塞和同步、异步

最近几天在学习nginx的时候了解了一下linux网络IO模型,在此谈谈我自己的理解,如有错误请多多指教.本文参考书籍Richard Stevens的“UNIX® Network Programming Volume 1, Third Edition: The Sockets Networking ”,6.2节“I/O Models ”. Linux网络IO请求数据分为两段: 1.数据准备 2.将数据从内核拷贝到进程空间 其实,阻塞.非阻塞和同步.异步的不同就在于这两个阶段的不同. 同步和异步关

5种网络IO模型(有图,很清楚)

同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西.这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不相同.所以,为了更好的回答这个问题,我先限定一下本文的上下文. 本文讨论的背景是Linux环境下的n

[转载] 网络IO模型

转载自http://blog.csdn.net/zhoudaxia/article/details/8974779 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西.这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(co