在将数据缓冲区放到网络上所需的时间方面,如果使用
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));发布于 2012-01-18 22:43:42
最大的区别在于,正常的write可以阻塞,直到所有数据都写入,而async_write会立即返回,并在所有数据写入或发生错误时调用回调。
我怀疑从呼叫到实际通过网络发送的数据在时间上是否有任何明显的差异。
https://stackoverflow.com/questions/8911729
复制相似问题