在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
)
);
答案 0 :(得分:0)
async_read_some
总是立即返回。
如果您正在谈论处理程序(回调),如果您在套接字返回之前关闭套接字,那么我认为将使用asio::error::operation_aborted
调用该处理程序。如果您处理这种情况,那么您可能不必担心自己是否已经连接。