先判断函数的返回是否为TRUE或者FALSE.
然后可以判断GetQueuedCompletionStatus函数的第二个参数lpNumberOfBytes和lpOverlapped结构体中的数据是否有效,如果*lpNumberOfBytes的值为0,OVERLAPPED结构体中的数据也合法,可以认为是客户端关闭了连接,这个时候你就需要closesocket关闭socket套接字,可能还需要释放一下内存的操作(比如之前分配的PER_HANDEL/PER_IO结构)
然后可以判断GetQueuedCompletionStatus函数的第二个参数lpNumberOfBytes和lpOverlapped结构体中的数据是否有效,如果*lpNumberOfBytes的值为0,OVERLAPPED结构体中的数据也合法,可以认为是客户端关闭了连接,这个时候你就需要closesocket关闭socket套接字,可能还需要释放一下内存的操作(比如之前分配的PER_HANDEL/PER_IO结构)
解决方案 »
- 网上抄来的IOCP代码,编译通过,运行正常,但我就是没看懂!
- 如何准确判断一个汉字CString包含另一个CString
- 怎么把一个字节中的后3位数据取出来?
- 急,SDK获取磁盘信息
- 请问VC有P2P的文件共享系统开发包吗
- 很简单的问题!
- 当鼠标移到菜单上时,怎样在状态栏显示说明文字?要什么代码?我在向导生成的Document-View结构的程序中怎么找不到实现这个功能的代码?
- 朋友,遇到过这种情况吗?调用FreeLibrary()迟迟不能返回???
- bobofu(有问题要问)请来领分,感谢对http://www.csdn.net/expert/topic/417/417214.shtm贴子的帮助。
- 用MFC实现小车沿轨迹运行动图
- VC 可以用.net 的东西吗??
- 求局域网级对方播放音乐文件思路
解决了没?亲。。