@john-lee
2021-01-02T13:54:55.000000Z
字数 1000
阅读 1112
Boost.Asio
Boost.Asio 中的许多 I/O 对象是面向流的。这意味着:
提供面向流的 I/O 模型的一个或多个以下类型要求的对象:
SyncReadStream,其中同步读取操作使用称为read_some()的成员函数执行。AsyncReadStream,其中异步读取操作使用名为async_read_some()的成员函数执行。SyncWriteStream,其中同步写入操作使用名为write_some()的成员函数执行。AsyncWriteStream,其中异步写入操作使用称为async_write_some()的成员函数执行。面向流的 I/O 对象的示例包括ip::tcp::socket、ssl::stream<>、posix::stream_descriptor、windows::stream_handle等待。
程序通常要传输精确的字节数。当发生短读或短写时,程序必须重新启动操作,并继续这样做,直到传输了所需的字节数。Boost.Asio 提供自动执行此操作的常规函数:read()、async_read()、write()和async_write()。
read、async_read、read_until或async_read_until函数违反其约定。例如,由于 EOF,读取 N 个字节可能会提前完成。async_read(), async_write(), read(), write(), AsyncReadStream, AsyncWriteStream, SyncReadStream, SyncWriteStream.
Copyright © 2003-2020 Christopher M. Kohlhoff
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)




