async_read_some return

async_read_some return

本文关键字:return some read async      更新时间:2023-10-16

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

async_read_some总是立即返回。

如果你在谈论处理程序(回调),如果你在它返回之前关闭套接字,那么我认为处理程序被asio::error::operation_aborted调用。如果你处理了这种情况,也许你就不需要担心你是否连接了。