【发布时间】:2011-05-13 21:54:34
【问题描述】:
在使用重叠的套接字 IO 和 IOCP 的情况下,任何人都可以建议一种可靠的方法来处理系统错误吗?
MSDN 在这方面的描述比较繁琐。它说对于 GetQueuedCompletionStatus 返回代码 FALSE 应该有一个后续的 GetLastError 调用来获取失败操作的错误代码。但是,我们知道,对于 WSA 函数,应该调用 WSAGetLastError(GetLastError 在套接字错误时返回 0)。所以问题的第一部分是 - 它在实践中是如何工作的?
如果完成数据包由GetQueuedCompletionStatusEx 提取,另一个问题是处理错误。 MSDN 只描述了这个调用本身的错误处理,没有提到获取单个失败操作的错误代码。
提前感谢所有回复和 cmets。
【问题讨论】:
标签: c++ windows winsock overlapped-io