win IOCP一个点closesocket之后的操作,如何避免重复回收资源问题

win使用iocp中使用 closesocket 之后

 

if (s->m_Socket != INVALID_SOCKET)closesocket(s->m_Socket); s->m_Socket = INVALID_SOCKET;

 

以上操作确实可以关闭,但是这个操作会同时再触发一次iocp的投递操作,会重新投递一个任务到工作队列中

 

在实际开发中,可以在一次流程中,执行close操作,然后再工作队列中回收前端程序为当前socket分配的资源

 如果是先回收资源再closesocket注意资源的重复回收问题

 

20220310

 

//

 

posted @   小城熊儿  阅读(135)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示