@ Асинхронное программирование действительно трудно понять, никто не будет это отрицать. Инверсия управления потоком приложения порой вызывает путаницу.
жный дубликат:
Как установить таймаут на блокировку сокетов в boost asio?
Я прочитал некоторые записи о тайм-ауте, но я не понимаю.
Я хочу определенный тайм-аут для соединения. код подключения выглядит так:
try{
boost::asio::ip::tcp::resolver resolver(m_ioService);
boost::asio::ip::tcp::resolver::query query(link.get_host(), link.get_scheme());
boost::asio::ip::tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
boost::asio::ip::tcp::resolver::iterator end;
boost::system::error_code error = boost::asio::error::host_not_found;
while (error && endpoint_iterator != end)
{
m_socket.close();
m_socket.connect(*endpoint_iterator++, error);
}
}
также я хочу тайм-аут чтения.
я используюboost::asio::read_until(m_socket, response, "\r\n");
для чтения в шапке.
Можно ли установить ПРОСТОЙ тайм-аут?