我正在使用IOCP开发本地代理服务器。我能够从连接中读取第一个请求并成功发回其响应。如果这是一个持久连接,我试图在发送第一个请求的响应后从它读取第二个请求。我能够从客户端(浏览器)读取第二个请求并将其写入(使用WSASend())到代理套接字,该套接字处理与实际服务器的连接。但GetQueuedCompletionStatus()在写第二个请求结束时没有触发。我检查了这个代理套接字与完成端口及其关联的关联。
我在wireshark中检查了这个http连接,它显示第二个请求已正确发送并收到了响应。
所以问题是GetQueuedCompletionStatus()在写第二个请求结束时没有触发。
如何解决这个问题?