IOCP(完成端口)开发手记(3)
2005-03-07 10:31
232 查看
当创建IOCP端口后,就要初始化连接监听,这跟一般的SOCKET是没有什么区别的,当然要把它关联到IOCP,否则就不会从IOCP那里得响应. 接着就会创建满足需要的接收请求,这样就会收到连接进来.
如果有连接进来,就会收在GetQueuedCompletionStatus函数里收到前面发出的请求包,接着就进行数据监听,或者数发送的请求.就可以进行这个连接的数据收发了.
我一直想搞清楚几个状态之间的变换.第一个就是从监听状态到连接进来,再到数据发送.然后到连接关闭.在IOCP里是怎么样来标志一个连接关闭呢?
通过查找MSDN帮助文档,看了不少资料,终于找到了. 要标志一个连接关闭,要查看两个东西,一个GetQueuedCompletionStatus函数就是接收到的数据lpNumberOfBytes为0,另一外就是GetLastError函数返回ERROR_SUCCESS. 上面两个条件满足后,就知道SOCKET关闭了.
如果有连接进来,就会收在GetQueuedCompletionStatus函数里收到前面发出的请求包,接着就进行数据监听,或者数发送的请求.就可以进行这个连接的数据收发了.
我一直想搞清楚几个状态之间的变换.第一个就是从监听状态到连接进来,再到数据发送.然后到连接关闭.在IOCP里是怎么样来标志一个连接关闭呢?
通过查找MSDN帮助文档,看了不少资料,终于找到了. 要标志一个连接关闭,要查看两个东西,一个GetQueuedCompletionStatus函数就是接收到的数据lpNumberOfBytes为0,另一外就是GetLastError函数返回ERROR_SUCCESS. 上面两个条件满足后,就知道SOCKET关闭了.
相关文章推荐
- IOCP(完成端口)开发手记(1)
- IOCP(完成端口)开发手记(3)
- IOCP(完成端口)开发手记
- IOCP(完成端口)开发手记(4)
- IOCP(完成端口)开发手记(2)
- IOCP(完成端口)开发手记(4)
- IOCP(完成端口)开发手记(2)
- IOCP(完成端口)开发手记
- IOCP(完成端口)开发手记(1)
- Windows socket之IO完成端口(IOCP)模型开发(原作者:csdn——ithzhang)
- Windows socket之IO完成端口(IOCP)模型开发
- Windows socket之IO完成端口(IOCP)模型开发
- Windows socket之IO完成端口(IOCP)模型开发
- Windows socket之IO完成端口(IOCP)模型开发
- wordpress二次开发教程手记:默认会员系统的扩展与优化
- 开心网外挂开发手记
- wordpress主题开发教程手记:短代码(Shortcodes)知识详解
- IPS开发手记【一】
- wordpress二次开发教程手记:feed订阅功能的完善
- DirectX 9.0c游戏开发手记之RPG编程自学日志之9: Drawing with DirectX Graphics (用DirectX图形绘图)(第4节)(B)