Russian Qt Forum
Ноябрь 22, 2024, 08:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: зависание при обращении к сайту  (Прочитано 20207 раз)
qlewer
Новичок

Offline Offline

Сообщений: 41


Просмотр профиля
« : Май 11, 2020, 17:57 »

есть проект обращения к сайту и получения ответа. всё работает идеально на всех компах(qt 5.6.1)
перенес этот проект на виртуальную машину с qt 5.9.9
после строки
Код:
manager->get(request); 
программа виснет на 10 секунд, "не отвечает", окно не двигается. и в среде, и экзешником на всех компах. потом отмирает и работает, как ни в чем ни бывало, моментально обрабатывает все последующие запросы. openssl ставил, не помогло. подскажите, плз, в чем дело?
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #1 : Май 11, 2020, 18:52 »

Ну, так может быть, это самый request сложный? Мало данных.
Записан

qlewer
Новичок

Offline Offline

Сообщений: 41


Просмотр профиля
« Ответ #2 : Май 11, 2020, 19:43 »

самый простецкий запрос с QNetworkAccessManager. при чем проект 100% рабочий. но именно на qt 4.12.0 5.9.9 mingw 53_32 тормозит 10 секунд
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #3 : Май 12, 2020, 00:47 »

Предлагаете гадать? У телепатов ведь сейчас каникулы.
Если жалко показать код, то можно набросать тестовый проект с проблемой, иначе всё бесполезно.
Записан

kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #4 : Май 12, 2020, 11:12 »

можно взять версию Qt посвежее
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
qlewer
Новичок

Offline Offline

Сообщений: 41


Просмотр профиля
« Ответ #5 : Май 13, 2020, 11:55 »

Цитировать
Если жалко показать код, то можно набросать тестовый проект с проблемой, иначе всё бесполезно.
вот проект, собранный на qt 5.9.9. после нажатия на кнопку, всё окно намертво застывает на 10 секунд. если запустить ехе, в этом можно убедиться. этот же проект, собранный в qt 5.6.1, работает правильно. на другую версию qt перейти не могу, т.к. 3 дня не спал, с трудом настроил qt 5.9.9 на статическую сборку (во вложении обычная)
« Последнее редактирование: Май 13, 2020, 12:26 от qlewer » Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #6 : Май 13, 2020, 16:21 »

Ничего криминального не увидел, кроме того, что вы сетевой запрос (который в принципе не мгновенен) запускаете в основном потоке. Пока сервер всю страницу не отдаст у вас и будет всё "висеть". Особенно, если сайт "современный" и в нём 100500 скриптов.
Обычно такое делают в отдельном потоке. Вы даже начали писать QThread...
Записан

qlewer
Новичок

Offline Offline

Сообщений: 41


Просмотр профиля
« Ответ #7 : Май 13, 2020, 20:03 »

exe файл не запускали? он есть в архиве, собран по этому проекту. получение ответа с сервера несоизмеримо с тем зависанием, которое происходит, дело в другом. на qt 5.6.1 всё работает идеально, на 5.9.9 одна и та же задержка длиной примерно в 10 секунд
« Последнее редактирование: Май 13, 2020, 20:12 от qlewer » Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #8 : Май 14, 2020, 12:19 »

Винды у меня нет в принципе, а в вайне вряд ли запустится.
Да и какой смысл в этом? Ну, заработает на этом сайте, будет "тормозить" на другом. Поток сделать не сложно, пример есть прямо в "помощи".
« Последнее редактирование: Май 14, 2020, 12:22 от tux » Записан

qlewer
Новичок

Offline Offline

Сообщений: 41


Просмотр профиля
« Ответ #9 : Май 14, 2020, 18:47 »

у тебя не заработает. дело не в сайте. нет нужды в отдельном потоке, данные с сайта принимаются за милисекунды, а запрос\ответ осуществляются в режима сигнал\слот, что не вызывает зависаний. повторюсь, проект рабочий, но именно на qt 5.9.9 он собирается неправильно. очевидно, есть какая-то мелочь, которая не учтена, но я не знаю, какая
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #10 : Май 14, 2020, 19:58 »

Ну, вера - она штука крепкая.
А так ли уж нужен именно этот Qt? Я смотрел на 5.15.0 и ничего, кроме того, что написал, не увидел.
Записан

qlewer
Новичок

Offline Offline

Сообщений: 41


Просмотр профиля
« Ответ #11 : Май 14, 2020, 22:15 »

мне нужна статическая сборка, чтобы не вызывали раздражение море всяких библиотек. с трудом собрал на 5.9.9, оставлял комп включенным на ночь. не факт, что получится с другой версией
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #12 : Май 14, 2020, 23:55 »

Насколько я знаю, статическая сборка может вызвать раздражение совсем других товарищей. Лично я в ней великого смысла не вижу, но тут уж: каждому своё.
А чем библиотеки то раздражают, если не секрет? Свернуть всё в единый инсталлятор и отдать именно его - это ведь не сложно. Да и сами библиотеки ведь не обязаны быть в системных каталогах, можно положить рядом с исполняемым файлом.
Записан

kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #13 : Май 15, 2020, 11:03 »

с трудом собрал на 5.9.9, оставлял комп включенным на ночь. не факт, что получится с другой версией
они все собираются идентично. а если исключить кучу ненужных модулей из сборки, то можно собрать за час-другой, если не быстрее.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
qlewer
Новичок

Offline Offline

Сообщений: 41


Просмотр профиля
« Ответ #14 : Май 15, 2020, 19:37 »

не нашёл ни одной нормальной адекватной инструкции, чтобы, повторяя все действия, можно было создать статическую сборку qt. словно каждый, кто постигает эту тайну, теряет способность ясно излагать свои мысли. при чём для меня не важна версия qt. хоть что-нибудь. слышал, что можно просто передать папку qtсо статической сборкой, но не нашёл ни одного такого архива
« Последнее редактирование: Май 15, 2020, 19:39 от qlewer » Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.147 секунд. Запросов: 23.