IOCP WSARecv操作失败,错误代码997?

小竹z 2015-03-09 12:14:20
RT。我发现在client关闭后,直接杀死进程后,IOCP中GetQueuedCompletionStatus会返回SWARecv失败,错误代码997,也就是WSA_IO_PENDING,网上查询资料说是tcp缓冲区无数据。我想问问这种情况下,该如何处理该连接为好呢?目前我的处理方式是关闭、释放资源。主要是产生这种情况原因不是很清楚。
...全文
367 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xian_wwq 2015-03-11
  • 打赏
  • 举报
回复
WSA_IO_PENDING 是常态,不能以此作为判据来关闭连接。 应该在Server端增加超时清理连接, 某个链路没有工作,超过timeout设置的上限,才需要关闭连接,释放资源。
worldy 2015-03-09
  • 打赏
  • 举报
回复
关闭连接、释放资源,就是这样
Eleven 2015-03-09
  • 打赏
  • 举报
回复
你还是自己实现心跳机制吧,在规定的条件下没有得到client的回复就closesocket关闭,释放资源
lougd 2015-03-09
  • 打赏
  • 举报
回复
关闭连接就行了。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧