Проблема cpp-netlib, завершается вызовом после создания экземпляра 'boost::exception_detail::clone_impl

У меня есть код ниже, выполняющийся в цикле, который имеет обработку исключений.

 using namespace boost::network;
            http::client client;
            http::client::request request("https://testserver.com/");
            request << header("Connection", "close");
            http::client::response response = client.get(request);
            std::string strOutput = body(response);

Код работает нормально, однако, если я отключаю свой сетевой интерфейс для тестирования своего программного обеспечения в случае сбоя в сети, я получаю эту ошибку,

прерывание вызывается после создания экземпляра 'boost::exception_detail::clone_impl >' what(): boost thread: попытка присоединения к себе: предотвращение тупика ресурсов

Я не могу поймать эту ошибку. Этот код выполняет проверку состояния 24/7, поэтому он, скорее всего, найдет время, когда возникнет сетевая ошибка. Хуже всего то, что он может потерпеть неудачу после 1, 2, 3 или с 4-й попытки. Я действительно хотел бы избежать реализации сокета протокола HTTP самостоятельно с сокетами, но мне может понадобиться. Есть идеи?

1 ответ

Автор библиотеки нашел решение использовать один и тот же экземпляр клиента и не создавать и не уничтожать его каждый раз.

Другие вопросы по тегам