博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOCP 下行为投递的关键点
阅读量:5094 次
发布时间:2019-06-13

本文共 333 字,大约阅读时间需要 1 分钟。

网络库中把iocp当做epoll来用,发送、接收都投递0字节。(实际的投递写事件,是投递的1字节数据; 投递0字节会立即返回,根本没检测是否可写)

最近压测时,发现大量连接下,若连接频繁断开,有些标记值会错误,这几天着手解决这个问题, 很诡异, 特记录。
假设A、B为iocp的工作线程。
C为逻辑线程。
若C线程中的一个socket链接要发送数据:
    正确的做法是调用PostQueuedCompletionStatus函数投递;
    会出问题的的做法是用WSASend投递(会引起诡异问题,我遇到的貌似是GetQueuedCompletionStatus返回了2次)。

转载于:https://www.cnblogs.com/lcinx/p/10570765.html

你可能感兴趣的文章
Word字体与像素的对应关系(转)
查看>>
uip UDP 服务器广播模式(客户端可以任意端口,并且主动向客户端发送数据) (转)...
查看>>
一次SQLSERVER触发器编写感悟
查看>>
记一次线上Zabbix对Redis监控实录
查看>>
English trip -- VC(情景课)2 C Where's my pencli?
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
django url 路由设置技巧
查看>>
三言两语说清“线性流程”
查看>>
(转)虚函数和纯虚函数区别
查看>>
学习笔记--maven
查看>>
JAVA 调用Web Service的方法(转)
查看>>
为什么源码中很多方法就一行throw new RuntimeException("Stub!")
查看>>
捡来的一个大数模版。很好用
查看>>
ad logon hour
查看>>
如何在页面显示json数据
查看>>
获得进程可执行文件的路径: GetModuleFileNameEx, GetProcessImageFileName, QueryFullProcessImageName...
查看>>
证件照(1寸2寸)拍摄处理知识汇总
查看>>
Git入门简介
查看>>
eclipse里maven install时,报错提示jdk为无效的目标版本:1.7
查看>>
罗马数字与阿拉伯数字转换
查看>>