crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Висящие http-запросы, Программа не завершается, если остались запросы.
novichkov
  опции профиля:
сообщение 26.7.2010, 20:35
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 64
Регистрация: 20.3.2008
Из: Северодвинск
Пользователь №: 128

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




Репутация:   1  


С сетью работаю недавно. Сначала взял QHttp, потом перешел на QNetworkManager, но проблема осталась:
если я посылаю запрос серверу, а сервер недоступен (например, нет интернет-соединения), то по истечении определенного таймаута соединение, конечно, закроется. Но если я сразу закрываю программу, в QtCreator видно, что программа все еще выполняется.
Анализ QHttp::hasPendingRequests показывает, что запросы остались. Вызов QHttp::abort() не помогает. В QNetworkReply метод abort вообще чисто виртуальный.
Вопрос: что я делаю не так?
Может, мне нужно лезть в дебри QThread или QEventLoop? Но с ними я вообще никогда не сталкивался.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
novichkov
  опции профиля:
сообщение 28.7.2010, 19:18
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 64
Регистрация: 20.3.2008
Из: Северодвинск
Пользователь №: 128

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




Репутация:   1  


Проблема решена. Оказывается, достаточно было после
QNetworkReply *reply = manager->get(...);

поставить
reply->deleteLater();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 14.1.2025, 2:41