boost :: asio :: async_write()与boost :: asio :: write()

时间:2012-01-18 14:25:19

标签: c++ boost boost-asio

将数据缓冲区输出到线路上的时间是否有任何优势 如果你使用

boost::asio::write(m_socket, asio::buffer(dataOut_, len), asio::transfer_all());

而不是

boost::asio::async_write(m_socket, boost::asio::buffer(hbs, sizeof(hbs)),
                         boost::bind(&Client::handle_pulse, this,
                         boost::asio::placeholders::error,
                         boost::asio::placeholders::bytes_transferred));

1 个答案:

答案 0 :(得分:2)

最大的区别在于,正常write可以阻塞直到写入所有内容,而async_write会立即返回,并在写入所有数据或发生错误时调用回调。

我怀疑从通过电话发送到实际发送的数据的时间上有明显的差异。