async_read_some返回

时间:2013-03-13 12:21:45

标签: c++ boost-asio

在Boost :: ASIO中是否有办法知道async_read_some在特定时间段内是否不会在不关闭套接字的情况下调用函数?如果没有更多数据要传输到缓冲区,通常async_read_some()将不会返回。

 _socket->async_read_some(
     boost::asio::buffer(this->reply, sizeof(this>reply)),
     boost::bind(
         &TCP_IP_Connection::dataProcess,
         this,
         boost::asio::placeholders::error,
         boost::asio::placeholders::bytes_transferred
     )
 );

1 个答案:

答案 0 :(得分:0)

async_read_some总是立即返回。

如果您正在谈论处理程序(回调),如果您在套接字返回之前关闭套接字,那么我认为将使用asio::error::operation_aborted调用该处理程序。如果您处理这种情况,那么您可能不必担心自己是否已经连接。