Название: Вопрос про requestFinished Отправлено: vm-root от Февраль 15, 2009, 17:38 Всем привет!
Помогите разобраться. Вот сигналы и слоты которые я задействовал. Код В каждом слоте стоит свое сообщение (cerr <<) чтобы было ясно какой этап в данный момент происходит В httpRequestFinished прописано cerr << "Http request finished" << endl; Запрос делается один при нажатии кнопки. http.setHost(str); httpGetId = http.get("/", &file); http.close(); Проблема в том, что на один запрос я получаю несколько вызовов слота httpRequestFinished? Причем если указывать разные адреса сайтов то количество вызовов httpRequestFinished меняется. Это ошибка или норма? В каком слоте тогда нужно обрабатывать окончательно полученные данные. httpDone? или может еще какой. Если использовать httpDone то в него не передается requestId. Те непонятно, какой запрос завершился. ps. Задача последовательно скачивать заданные .html С уважением, Владимир. Название: Re: Вопрос про requestFinished Отправлено: ритт от Февраль 15, 2009, 17:49 а параметр int сравнивается с данным httpGetId? код завершения какой?
вроде бы, в примерах всё это неплохо объясняется Название: Re: Вопрос про requestFinished Отправлено: vm-root от Февраль 15, 2009, 18:29 Нет не сравнивается.
Вот посмотрел, что выводит. httpGetId = 2 requestId = 1 requestId = 2 requestId = 3 Как ошибку посмотреть я не знаю. Код
Название: Re: Вопрос про requestFinished Отправлено: Dendy от Февраль 15, 2009, 19:02 Общение с HTTP сервером строится на диалоге запрос-ответ. Даже если полезный запрос у вас один - всё равно будет несколько вспомогательных, просто игнорируйте их:
Код
Если в вашем диалоге с сервером всего один запрос - можете его обработать в httpDone(). И не забывайте смотреть произошла ли ошибка. Название: Re: Вопрос про requestFinished Отправлено: FreePascal от Март 30, 2009, 23:04 После запроса моментально вызывается requestFinished(int,bool), второй вызов уже действительно тот что ожидаем.
При создании объекта также вызывается этот сигнал. Qt 4.5 Может все же баг? |