在返回之前,将所有提供的数据写入流。
template< typename SyncWriteStream, typename ConstBufferSequence> std::size_t write( SyncWriteStream & s, const ConstBufferSequence & buffers, boost::system::error_code & ec, constraint_t< is_const_buffer_sequence< ConstBufferSequence >::value > = 0);
此函数用于将指定数量的字节数据写入流。调用将阻塞,直到以下任一条件为真。
此操作是根据对流的 `write_some` 函数的零次或多次调用来实现的。
要写入数据的数据流。类型必须支持 SyncWriteStream 概念。
包含要写入数据的一个或多个缓冲区。缓冲区大小的总和表示要写入流的最大字节数。
用于指示发生何种错误(如果有)。
传输的字节数。
要写入单个数据缓冲区,请使用 buffer
函数,如下所示:
boost::asio::write(s, boost::asio::buffer(data, size), ec);
请参阅 buffer
文档,了解一次写入多个缓冲区以及如何将其与数组、boost::array 或 std::vector 一起使用。
此重载等同于调用
boost::asio::write( s, buffers, boost::asio::transfer_all(), ec);