Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QNetworkAccessMenager не работает под Windows
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
mva
Добрый день!

Есть код
    QNetworkAccessManager*  m_networkAccessManager;
    ...
   m_networkAccessManager = 0;
   ...
   // Если сетевой менеджер еще не подключен, то подключим его
   if (m_networkAccessManager == 0)
   {   // Вызывается только один раз, по необходимости загрузить фотографию
       QNetworkConfigurationManager manager(this);
       m_networkAccessManager = new QNetworkAccessManager(this);
       m_networkAccessManager->setConfiguration(manager.defaultConfiguration());
       connect(m_networkAccessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
   }
   if (m_networkAccessManager != 0)
   {
       if (m_networkAccessManager->networkAccessible() == QNetworkAccessManager::Accessible)
       {
       ...    // ПОПАДАЕМ СЮДА В LINUX, НО НЕ В WINDOWS
       }
       else
       {
           app->showMessageOnStatusBar(tr("Нет доступа к сети для загрузки фотографий."), 3000);    // ПОД WINDOWS ПОПАДАЕМ СРАЗУ СЮДА
           delete m_networkAccessManager;
           m_networkAccessManager = 0;
       }
    }

Он работает под Linux, но не работает в Windows. Почему? Как это можно выяснить?
wiz29
Стоит проверить настройки конфигурации сетевого интерфейса под виндами. Скорее всего там проблема.
mva
С интерфейсом скорее всего все нормально. Интернет через него работает.
wiz29
я не уверен, что m_networkAccessManager->setConfiguration(manager.defaultConfiguration()); задает корректные настройки для конкретного сетевого адаптера под виндой (прокси и тп).
mva
Проверил значение manager.defaultConfiguration().isValid()

Под Linux - true, под Windows - false.

Осталось понять почему.


mva
Все оказалось проще. Убрал условие

if (m_networkAccessManager->networkAccessible() == QNetworkAccessManager::Accessible)

и все заработало. В примере с загрузкой файла, который есть в документации, такого условия тоже нет. Так же убрал и QNetworkConfigurationManager.


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.