物事がどのように機能するかを誤解しているのかもしれませんが、呼び出しにタイムアウトを追加しようとしているread_until
ので、 を作成してdeadline_timer
呼び出す前に開始しましread_until
たが、read_until
それでもすべてがブロックされ、タイマーはアクティブになりません。私はそれを間違っていますか?以下は、私のコードの一部です。
void MyClass::handle_timeout(const boost::system::error_code& error)
{
// Our deadline timer went off.
std::cout << "Deadline Timer was triggered." << std::endl;
Disconnect();
}
// Read some data.
void MyClass::ReadData(){
boost::asio::streambuf response;
deadline_.expires_from_now(boost::posix_time::seconds(DEFAULT_TIMEOUT));
deadline_.async_wait(boost::bind(&MyClass::handle_timeout, this, _1));
boost::asio::read_until(socket_,response,asString);
}