Amu*_*umu 3 c++ boost boost-asio
它写在文档中:
此函数用于从流套接字异步读取数据.函数调用总是立即返回.
我知道它是异步的,所以它会立即返回.但是async_read_some()与自由函数read()有什么不同?当我尝试使用std::cout我的缓冲区时async_read_some(),似乎该函数读取很多次,直到流不在数据中.
这是否意味着async_read_some()请求持续,直到它收到每个数据,例如,在HTTP GET请求中?服务器一次写入很少并向客户端发送一点(用于async_read_some()读取一小部分整个数据),或者将所有数据一次性转储到客户端?
不,async_read_some()不要求连续.
该ip::tcp::socket::async_read_some()函数将进行系统调用以启动读取.
在此之后,下次呼叫时间io_service::run()的io_service,你传递给的构造函数ip::tcp::socket时,io_service会检查,看看是否async_read_some()有读的任何数据.
如果已读取数据,则它将调用ReadHandler您传递给的回调async_read_some().
如果尚未读取数据,则会在下次呼叫时返回并再次检查完成io_service::run().
| 归档时间: |
|
| 查看次数: |
7176 次 |
| 最近记录: |