Tha*_*tos 10

async_receive是一个只接收缓冲区的函数,但可能无法收到您要求的金额.(它将等于或更少,永远不会更多.)

async_read但是,它总会收到您要求的金额,因为它表明:

此函数用于从流中异步读取一定数量的字节数据.函数调用总是立即返回.异步操作将继续,直到满足下列条件之一:

  • 提供的缓冲区已满.也就是说,传输的字节数等于缓冲区大小的总和.
  • 发生错误.

页面有点模糊不清的是async_read,如果它没有获得那么多字节,并且连接正常关闭.(这是否算作"错误"?)这可以通过快速测试来确定.(async_receive但是,它会给你带来的东西.)