IOCP的理解? 本帖最后由 oyljerry 于 2012-03-30 11:26:12 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 IOCP就是一个异步的队列,就是把一个SOCKET关联到一个所谓的完成端口, 然后就向套接字投递读写请求这些请求不一定是立即完成的,所以你需要在自己的一个或者多个工作线程里等待完成端口的完成事件然后处理之,如果想屏蔽这些复杂性可以使用boost asio 让你更关注自己的业务逻辑 而不是纠结在IOCP的实现及其原理上。 所有的网络操作,都要投递了overlapped后才能在操作完成时通过GetQueuedCompletionStatus得到完成的状态 搞计算机的既然遇到问题肯定要解决嘛。。boost库我还没学呢。。还在上学 我的理解就是你创建的SOCKET由完成端口来监控你的收发状态! IOCP其实理解成事件触发器就ok了。主要关注几个事件:accept, recv, send,并在此基础上扩展其他的事件,包括断线等。 IOCP是Windows下IO异步机制的牛逼做法你要想某个设备能够进行高效的IO操作 就把这个设备句柄和IOCP关联起来 在这个设备创建时加上FILE_FLAG_OVERLAPPED属性创建两倍CPU数目的线程来弄GetQueuedCompletionStatus IOCP的设计初衷是和线程池配合使用的 怎样进行分栏操作????急!!! win32程序实现缩略图显示位图 bind时出现10074错误 我使用自创建的VIEW类使用其打印方法好使,使用打印预览不好使是为什么? 120+110+119+反恐大队 为什么我自己创建的Access数据库数据是AscII码的,Microsoft Access创建的就是Unicode码的?内有具体说明 请问哪里有vc的运行库下载? dbgheap.c 1084问题 debug: 怎样查看数组值 如何将现成的bmp作为资源插入 MFC 如何画标题栏中的最小化,还原按钮 局域网 UDP 广播问题?
这些请求不一定是立即完成的,所以你需要在自己的一个或者多个工作线程里等待完成端口的完成事件
然后处理之,如果想屏蔽这些复杂性可以使用boost asio 让你更关注自己的业务逻辑 而不是纠结在IOCP
的实现及其原理上。