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的设计初衷是和线程池配合使用的 请问各位大神 如何设置OPENGL 不透明?????? 在MFC的单文档程序中,如何调整视类窗口大小 dll函数返回值的问题 求教关于字符串类型的问题. 庆祝我的个人网站一个月内,google等级升级为2 关于stack overflow错误!!! 如何从多个线程中Fire组件的连接点接口 为什么位图不能显示? 急问简单数据库问题 如何定制自己的消息? MFC 如何画标题栏中的最小化,还原按钮 局域网 UDP 广播问题?
这些请求不一定是立即完成的,所以你需要在自己的一个或者多个工作线程里等待完成端口的完成事件
然后处理之,如果想屏蔽这些复杂性可以使用boost asio 让你更关注自己的业务逻辑 而不是纠结在IOCP
的实现及其原理上。