Запишите все предоставленные данные в поток перед возвращением.
template<
typename SyncWriteStream,
typename ConstBufferSequence>
std::size_t write(
SyncWriteStream & s,
const ConstBufferSequence & buffers);
Эта функция используется для записи определенного количества байтов данных в поток. Звонок будет блокироваться до тех пор, пока не будет выполнено одно из следующих условий:
- Все данные в предоставленных буферах были записаны. То есть переданные байты равны сумме буферных размеров.
- Произошла ошибка.
Эта операция реализована с точки зрения нулевого или большего количества вызовов функции write_some потока.
- s
Поток, к которому должны быть записаны данные. Этот тип должен поддерживать концепцию SyncWriteStream.
- buffers
Один или несколько буферов, содержащих данные, подлежащие записи. Сумма размеров буфера указывает на максимальное количество байтов для записи в поток.
Количество переданных байтов.
- boost::system::system_error
Выброшен на провал.
Для записи одного буфера данных используйте функцию<buffer
>следующим образом:
boost::asio::write(s, boost::asio::buffer(data, size));
См. документацию<buffer
>для информации о написании нескольких буферов за один раз, а также о том, как использовать ее с массивами, нарастить::array или std::vector.
Эта перегрузка эквивалентна вызову:
boost::asio::write(
s, buffers,
boost::asio::transfer_all());