完成键与扩展 OVERLAPPED 结构
Posted
技术标签:
【中文标题】完成键与扩展 OVERLAPPED 结构【英文标题】:Completion key vs extending the OVERLAPPED structure 【发布时间】:2015-03-06 07:51:22 【问题描述】:我不确定在处理与每个套接字关联的数据时应该采取什么方法。我应该使用完成键还是应该扩展OVERLAPPED
结构。
扩展OVERLAPPED
结构似乎是一种技巧,那么它比完成键有什么优势吗?
【问题讨论】:
【参考方案1】:完成键是“每个连接”数据,也就是说,对于给定句柄上的所有操作,每次完成时它都是相同的,并且是链接到“文件”或“套接字”结构的好方法。
Overlapped 是“每个操作”数据,句柄上的每个并发操作必须使用唯一的重叠结构。这使得它非常适合保存每个操作的数据,例如“操作类型”和相关的内存(例如缓冲区)等。
“扩展重叠”不是黑客,而是应该使用设计的方式。
【讨论】:
以上是关于完成键与扩展 OVERLAPPED 结构的主要内容,如果未能解决你的问题,请参考以下文章
OVERLAPPED Win32 结构中的 hEvent 成员
OVERLAPPED结构与GetOverlappedResult函数