代码之家  ›  专栏  ›  技术社区  ›  Clark Gaebel

Asio:async\u read和async\u receive之间的区别

  •  10
  • Clark Gaebel  · 技术社区  · 16 年前

    async_read async_receive

    2 回复  |  直到 10 年前
        1
  •  10
  •   Thanatos    16 年前

    async_receive

    async_read 但是,将始终收到您要求的金额,因为它声明:

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

    • 提供的缓冲区已满。也就是说,传输的字节等于缓冲区大小之和。

    页面上唯一有点模糊的是什么 如果它没有得到那么多字节,并且连接正常关闭(这算“错误”吗?)这可能可以通过快速测试来确定( ,但是,它只会给你它得到的。)

        2
  •  1
  •   Nikolai Fetissov    16 年前

    第一个是自由函数,第二个是成员函数。

    socket_base::message_flags flags recv(2) 手册页。

    编辑:

    async_receive 最大N字节 ,与。 具有 async_read