Проблема 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 самостоятельно с сокетами, но мне может понадобиться. Есть идеи?

0

Решение

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

0

Другие решения

Других решений пока нет …