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