Я программирую небольшое приложение с qt5. Это приложение получает ответ от сервера API каждую минуту. Все работает нормально, но я столкнулся с ошибкой.
Во время тестирования приложения я обнаружил, что если моя беспроводная сеть отключена и снова подключена, приложение будет работать нормально. Кроме того, если я использую свое широкополосное соединение, а соединение отключается и снова подключается, все также работает нормально. Теперь, если я использую свою беспроводную сеть при запуске приложения, а затем отключаю беспроводную сеть и подключаю широкополосный доступ, программа не увидит широкополосное соединение и продолжает выдавать мне сетевую ошибку.
Я использую один экземпляр QNetworkAccessManager
для соединения. Интересно то, что если я создам новый экземпляр QNetworkAccessManager
для каждого запроса, приложение будет работать нормально. Но я думаю, что при объявлении нового экземпляра для каждого запроса и установлении соединений будут накладные расходы. Я также пытался использовать clearAccessCache()
перед запросом, но безуспешно.
Так что в основном я ищу что-то, чтобы сбросить QNetworkAccessManager
с каждым запросом. Вот пример кода моего запроса:
// At class construct
manager = new QNetworkAccessManager(this);
// ....
// At member function
url = new QUrl("http://www.gridstatusnow.com/status");
manager->get(QNetworkRequest(*url));