窗口 HTTP IO 完成端口
Posted
技术标签:
【中文标题】窗口 HTTP IO 完成端口【英文标题】:Window HTTP IO Completion port 【发布时间】:2013-09-12 05:24:17 【问题描述】:我正在阅读与 Windows HTTP Server API 相关的 Windows 编程的 IO 完成端口文档。
所以在 HTTP Server API 中,我们有一个队列,它是对响应/请求的抽象。我们有队列的句柄来获取相关信息。
如果我要将 IO 完成端口与此相关联,这是否意味着我已使用队列作为句柄?这不会降低粒度吗?我不能将 IO 完成端口与每个请求关联,而不是与完整队列关联。
详细查询: 我们使用 windows http server api 中的请求队列注册特定 URL。所以队列上可能有很多请求。如何将 IO 完成端口与每个请求/响应关联,而不是与队列本身关联。
IO 完成: http://msdn.microsoft.com/en-us/library/windows/desktop/aa363862(v=vs.85).aspx
队列文档: http://msdn.microsoft.com/en-us/library/windows/desktop/aa364483(v=vs.85).aspx
接收请求: http://msdn.microsoft.com/en-us/library/windows/desktop/aa364495(v=vs.85).aspx
【问题讨论】:
【参考方案1】:想通了。
IO 端口与队列句柄相关联。底层请求和响应与 IO 端口无关。
重叠结构用于传递有关响应和请求的相关信息。
【讨论】:
以上是关于窗口 HTTP IO 完成端口的主要内容,如果未能解决你的问题,请参考以下文章
使用套接字时,哪些 IO 操作会导致完成数据包发送到完成端口?