LINUX.ORG.RU

Вопрос по Qt (точнее по QHttp)


0

0

В документации сказано, что QHttp работает асинхронно, и единственный способ получить результат - это поймать сигнал QHttp::done(bool). Замечательно, значит можно сделать несколько запросов одновременно (ну например для агрегатора), и потом их по мере поступления обрабатывать. Возникает вопрос - а как собственно узнать, на какой запрос пришёл ответ? Или в этом случае необходимо использовать разные QHttp-объекты?

★★★★★

> Или в этом случае необходимо использовать разные QHttp-объекты?

Про QHttp точно не скажу, но логика подсказывает, что это именно так.

kpanic ★★
()

> и единственный способ получить результат - это поймать сигнал QHttp::done(bool).

ну это не единственный способ вродеж... есть ещё сигналы:

void requestFinished ( int id, bool error )
void requestStarted ( int id )

+ функция запуска запроса, например:
int get ( const QString & path, QIODevice * to = 0 )

вот результат get - это номер запроса, этот же номер передаётся в requestFinished ( int _id_, ... когда он завершён.

а done вроде вызывается когда все запросы в очереди выполнены

вроде так.

Eshkin_kot ★★
()
Ответ на: комментарий от Eshkin_kot

О! Спасибо, это меняет дело как будто.

Xellos ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.