Есть ли способ в 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
)
);
socket::close()
? Подход приведен в примере. - person Tanner Sansbury   schedule 13.03.2013async_read_some
не блокируется, как следует из названия, он асинхронный. Кроме того, документация четко заявляет, что он возвращается немедленно. Ваш вопрос не ясен, пожалуйста, отредактируйте его и уточните. Возможно, размещение еще одного псевдокода может помочь? - person Sam Miller   schedule 14.03.2013