gpt4 book ai didi

c++ - asio : multiple pending async_read?

转载 作者:搜寻专家 更新时间:2023-10-31 02:16:16 24 4
gpt4 key购买 nike

async_read 在收到请求的字节数后调用回调。这可能意味着多次调用 async_read_some。

在文档中指定最多可以有一个挂起的async_read_some。必须在发出下一个 async_read_some 之前调用回调。

async_read 呢?多个 async_read 可以排队吗?如果是,是否保证保留执行顺序?

最佳答案

根据 async_read(...) 的文档

This operation is implemented in terms of zero or more calls to the stream's async_read_some function, and is known as a composed operation. The program must ensure that the stream performs no other read operations (such as async_read, the stream's async_read_some function, or any other composed operations that perform reads) until this operation completes.

这意味着在调用完成处理程序(回调)之前,您不能在同一流上开始任何进一步的 async_read 操作——这应该只有一次,当提供的缓冲区是filled,满足完成条件,否则出现错误。

您并不完全清楚“排队”多个 async_read 操作的含义。实现一系列 async_read 操作的方法是在完成处理程序中启动下一个操作。

关于c++ - asio : multiple pending async_read?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37098594/

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