В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||||||||||||
1 | ||||||||||||||||
boost::asio::ip::tcp::resolver::close() - проблемы11.11.2011, 16:50. Показов 10289. Ответов 13
Метки нет (Все метки)
Есть код клиента. Выложу только значащие моменты.
Проблема заключается в следующем - при асинхронном резолве, если интернет выключен и как ip используется имя сайта (пример внизу) - действие таймера заканчивается и переходим в обработчик события таймера. При вызове resolver_.cancel() вызывается on_resolve, но вызывается не с той ошибкой, которая должна бы быть. Код
20111111T164915 tests[6306] network.cpp: 80 On resolve: 2:asio.netdb - Host not found (non-authoritative), try again later Как быть? Кто-то сталкивался с таким?
1
|
11.11.2011, 16:50 | |
Ответы с готовыми решениями:
13
boost::asio::ip::tcp::socket::async_connect не вызывает handler Ошибка в boost::asio::ip::tcp::iostream stream (&request); Asio deadline_timer и tcp::socket отослать асинхоронно по tcp по таймеру Boost Asio C++ |
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||||||||||||||||
14.11.2011, 20:28 [ТС] | 3 | ||||||||||||||||||||
niXman, Если вписать IP то все ок. Тогда ведь resolve не нужен.
Код
Добавлено через 4 часа 24 минуты Хм. Протупил. Вот фулл компилябельный код. Код
0
|
17.11.2011, 15:27 | 4 | |||||
ОС какая?
Добавлено через 3 минуты под минимальным кодом я подразумевал что-то вроде этого:
1
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
17.11.2011, 16:02 [ТС] | 5 | |||||
0
|
17.11.2011, 17:08 | 6 |
у меня почти такой же результат. я даже пробовал установить таймаут в 1мкс.
похоже что баг. сам напишешь баг-репорт? Добавлено через 7 минут еще вопрос. после того как выводится "timer expired", сколько времени проходит до того как выведутся остальные строки? Добавлено через 1 минуту по всей видимости это и есть ответ
1
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
17.11.2011, 18:38 [ТС] | 7 | |||||
Долго.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
17.11.2011, 20:29 [ТС] | 9 |
niXman, Я сомневаюсь, что смогу по английски верно сформулировать проблему. На чтение тех документации знаний хватает, на составление сообщений вряд ли.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
18.11.2011, 11:27 [ТС] | 11 |
fasked, По сути как-то так...
При попытке выполнить резолв хоста с выключенным интернетом при использовании boost::asio::ip::tcp::resolver::async_resolve, неверно работает boost::asio::ip::tcp::resolver::cancel. Не выполняется условие : This function forces the completion of any pending asynchronous operations on the host resolver. The handler for each cancelled operation will be invoked with the boost::asio::error::operation_aborted error code. Хандлер вызывается не с ошибкой с кодом boost::asio::error::operation_aborted, а с кодом boost::asio::error::host_not_found_try_again.
1
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
18.11.2011, 13:30 [ТС] | 13 |
Сообщение было отмечено как решение
Решение
3
|
18.11.2011, 15:41 | 14 |
Сообщение было отмечено как решение
Решение
не успел... ну и маладца!
ForEveR, мои пять копеек на будущее. как правило, перед тем как постить в баг-реппорт, сначала пишут в asio-users@lists.sourceforge.net и уже после, когда мнение нескольких участников сходится в том что это баг, пишут баг-реппорт. к тому же, в привычке писать в список рассылки есть один плюс - это как форум. плюс - там тебе ответят не кодеры широкого профиля, а именно те кто интересуется этой библиотекой. IgorR, к примеру. асс реальный. сам автор очень редко отвечает в списке рассылки. чего там удивляться, в его блоге последняя запись апреля 2010
4
|
18.11.2011, 15:41 | |
18.11.2011, 15:41 | |
Помогаю со студенческими работами здесь
14
Boost.asio boost/asio boost::asio C++ | boost::asio + ssl? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |