【问题标题】:boost::asio::async_write() versus boost::asio::write()boost::asio::async_write() 与 boost::asio::write()
【发布时间】:2012-01-18 14:25:18
【问题描述】:

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

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));

【问题讨论】:

    标签: c++ boost boost-asio


    【解决方案1】:

    最大的不同是普通的write可以阻塞直到全部写入,而async_write立即返回并在所有数据写入或发生错误时调用回调。

    我怀疑从调用到实际通过网络发送的数据在时间上是否存在明显差异。

    【讨论】:

    • 谢谢,知道这件事让我松了一口气。
    猜你喜欢
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 2021-11-07
    相关资源
    最近更新 更多