原创

IOCP(完成端口)开发手记(3)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://mysoft.blog.csdn.net/article/details/313315

当创建IOCP端口后,就要初始化连接监听,这跟一般的SOCKET是没有什么区别的,当然要把它关联到IOCP,否则就不会从IOCP那里得响应. 接着就会创建满足需要的接收请求,这样就会收到连接进来.

如果有连接进来,就会收在GetQueuedCompletionStatus函数里收到前面发出的请求包,接着就进行数据监听,或者数发送的请求.就可以进行这个连接的数据收发了.

我一直想搞清楚几个状态之间的变换.第一个就是从监听状态到连接进来,再到数据发送.然后到连接关闭.在IOCP里是怎么样来标志一个连接关闭呢?

通过查找MSDN帮助文档,看了不少资料,终于找到了. 要标志一个连接关闭,要查看两个东西,一个GetQueuedCompletionStatus函数就是接收到的数据lpNumberOfBytes为0,另一外就是GetLastError函数返回ERROR_SUCCESS. 上面两个条件满足后,就知道SOCKET关闭了.

文章最后发布于: 2005-03-07 10:31:00
展开阅读全文
0 个人打赏
私信求帮助

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览