当处于内核模式的http.sys接收到来自用户的请求之后,会将请求放入队列中。那处于用户模式的w3wp进程如何从内核模式的队列中取出请求呢?I/O完成端口(IOCP,I/O
Completion Port)闪亮登场。w3wp专门用了一个线程池干这个——W3TP,可以通过process explore...
分类:
编程语言 时间:
2014-06-02 17:32:13
阅读次数:
245
开门见山,直接就事论事。假如有这么一个基于IOCP模型的Server,这个Server提供的所有服务中有这么一种服务……文件下载,我们再假设Server端存有一个20G的文件,客户端这时发送一个请求到服务端来,客户端要求下载这个20G的文件,由此可能引发一系列让人头疼的问题(不谈TransmitFi...
分类:
其他好文 时间:
2014-05-26 19:36:04
阅读次数:
283
#include //#include #include #define PORT 5150
#define DATA_BUFSIZE 8192 typedef struct { OVERLAPPED Ov...
分类:
其他好文 时间:
2014-05-17 18:37:33
阅读次数:
297
IOCP模型与网络编程一。前言:
在老师分配任务(“尝试利用IOCP模型写出服务端和客户端的代码”)给我时,脑子一片空白,并不知道什么是IOCP模型,会不会是像软件设计模式里面的工厂模式,装饰模式之类的那些呢?嘿嘿,不过好像是一个挺好玩的东西,挺好奇是什么东西来的,又是一个新知识啦~于是,开始去寻找...
分类:
其他好文 时间:
2014-05-01 01:34:17
阅读次数:
413
首先说明,下面的代码仅是一个IOCP的demo,很多地方的设计非常差,当然也有一些设计还算可以:)。此篇仅供对IOCP有些了解但又不深入的、需要一个稍微完整示例的、对网络编程感兴趣的同学参考。点击这里下载代码整个程序的流程如下:流程完全是无阻塞的,主线程里,将收到的消息全都一次性取出后,然后派发。所...
分类:
其他好文 时间:
2014-04-27 21:30:51
阅读次数:
757