概述
重叠IO[overlapped I/O]:Win32的一项技术,你可以要求操作系统为你传送数据,并且在传送完毕时通知你。这也就是[完成]的含义。这项技术使你的程序在I/O进行过程中仍然能够继续处理事务。
完成端口(IOCP):不是我们在TCP/IP中所提到的端口,可以说是完全没有关系。IOCP只不过是用来进行读写操作,和文件I/O倒是有些类似。既然是一个读写设备,我们所能要求它的只是在处理读与写上的高效。
绑定端口之后,建立一个监听线程,用来监听客户端的连接,当有连接进来时,将该连接的套接字加入到IOCP对队列中,同时再创建几个工作线程,这样在该连接发生请求时,IOCP模型就会在工作线程通知,这样我们就可以在工作线程中,完成对客户端的请求做出一系列响应。
工作线程中循环调用了 GetQueuedCompletionStatus 这个API来取出当前活动的套接字,当套接字有数据应请求或者断开时。该函数也会立即返回。
如果要对工作线程停止,PostQueuedCompletionStatus 使用该API 向工作发送停止命令,工作线程收到此命令后,可以安全退出线程。
FR:海涛高软(hunk Xu) QQ技术交流群:386476712
最后
以上就是繁荣小鸽子为你收集整理的c++ IOCP和重叠IO技术的全部内容,希望文章能够帮你解决c++ IOCP和重叠IO技术所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复