crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QNetworkAccessMenager не работает под Windows
mva
  опции профиля:
сообщение 29.1.2015, 13:02
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 104
Регистрация: 15.3.2009
Из: Киров
Пользователь №: 615

Спасибо сказали: 3 раз(а)




Репутация:   0  


Добрый день!

Есть код
    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. Почему? Как это можно выяснить?

Сообщение отредактировал mva - 29.1.2015, 15:06
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 29.1.2015, 14:22
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


Стоит проверить настройки конфигурации сетевого интерфейса под виндами. Скорее всего там проблема.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
mva
  опции профиля:
сообщение 29.1.2015, 15:03
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 104
Регистрация: 15.3.2009
Из: Киров
Пользователь №: 615

Спасибо сказали: 3 раз(а)




Репутация:   0  


С интерфейсом скорее всего все нормально. Интернет через него работает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 29.1.2015, 15:45
Сообщение #4


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


я не уверен, что m_networkAccessManager->setConfiguration(manager.defaultConfiguration()); задает корректные настройки для конкретного сетевого адаптера под виндой (прокси и тп).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
mva
  опции профиля:
сообщение 29.1.2015, 16:29
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 104
Регистрация: 15.3.2009
Из: Киров
Пользователь №: 615

Спасибо сказали: 3 раз(а)




Репутация:   0  


Проверил значение manager.defaultConfiguration().isValid()

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

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


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
mva
  опции профиля:
сообщение 31.1.2015, 13:30
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 104
Регистрация: 15.3.2009
Из: Киров
Пользователь №: 615

Спасибо сказали: 3 раз(а)




Репутация:   0  


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

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

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


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.4.2024, 20:22