Boost C++ 库

……世界上最受推崇、设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ Coding Standards

basic_stream_socket::read_some (2 个重载中的 1 个) - Boost C++ 函数库
PrevUpHomeNext

从套接字读取一些数据。

template<
    typename MutableBufferSequence>
std::size_t read_some(
    const MutableBufferSequence & buffers);

此函数用于从流套接字读取数据。函数调用将阻塞,直到成功读取一个或多个字节的数据,或直到发生错误。

参数

缓冲区

将要读取数据的缓冲区,可以是一个或多个。

返回值

读取的字节数。

异常

boost::system::system_error

失败时抛出。错误代码 boost::asio::error::eof 表示连接已被对方关闭。

说明

read_some 操作可能不会读取请求的全部字节数。如果您需要在阻塞操作完成前确保读取了请求的数据量,请考虑使用 read 函数。

示例

要读取到单个数据缓冲区,请如下使用 buffer 函数。

socket.read_some(boost::asio::buffer(data, size));

有关一次性读取到多个缓冲区的信息,以及如何将其与数组、boost::array 或 std::vector 一起使用,请参阅 buffer 文档。


PrevUpHomeNext