gpt4 book ai didi

c++ - 我应该在两个地方处理 WSARecv() 的错误吗?

转载 作者:行者123 更新时间:2023-11-30 05:46:50 25 4
gpt4 key购买 nike

当我调用 WSARecv()(或另一个 Overlapped IO 函数)时,我可能会立即收到错误,或者当我调用 GetQueuedCompletionStatus() 时可能会收到错误出列一个完成数据包。

那么假设我必须在这两个地方处理返回的错误(例如:WSAECONNABORTED),或者即使 WSARecv() 返回了错误,是否准确?立即,我在调用 GetQueuedCompletionStatus() 时也会收到相同的错误,因此我只能在一个地方处理它。

最佳答案

仅当您有一个SUCCESS 返回或一个错误返回结果错误为IO_PENDING 时才会生成完成。必须在相关 API 的调用站点处理任何其他错误情况,因此在 WSARecv() 调用站点处理。一旦重叠操作开始(SUCCESSIO_PENDING 从原始 API 调用返回),那么这也可能失败并出现错误,该错误将通过 的返回值报告>GetQueuedCompletionStatus()

所以,是的,您必须在正确的地方处理错误。

关于c++ - 我应该在两个地方处理 WSARecv() 的错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28766648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com