Название: QNetworkAccessManager и паралельные запросы Отправлено: yablanton от Май 25, 2010, 08:37 Уважаемые коллеги, столкнулся с задачей: необходимо после процесса авторизации тянуть информацию с сайта статистики с определенным интервалом. Проблема в том, что надо отправить несколько GET-запросов серверу сразу. Но в стандартной реализации получается, что ответ приходит только на крайний. Как можно обойти эту проблему?
Название: Re: QNetworkAccessManager и паралельные запросы Отправлено: ecspertiza от Май 25, 2010, 13:07 Ну если тебе необходимо посылать одновременно несколько запросов, то скорее всего лудше будет создавать несколько экземпляров QNetworkAccessManager, а если по очереди ,то тут все проще, получил один ответ там же послал второй запрос и так далее.
Название: Re: QNetworkAccessManager и паралельные запросы Отправлено: yablanton от Май 28, 2010, 08:18 Но мне надо порядка 30 запросов отправлять (данных много), поэтому последовательный вариант с дожиданием реплая не подходит. Если создавать несколько менеджеров,как тогда обойти проблему с авторизацией и куками?
Название: Re: QNetworkAccessManager и паралельные запросы Отправлено: ecspertiza от Май 28, 2010, 09:31 Ну проблем с авторизацией я не вижу, у QNetworkAccessManager есть сигнал authenticationRequired ( QNetworkReply * reply, QAuthenticator * authenticator ), вот весь массив соединяешь с одним слотом, там и проходит авторизация, ну или опять же какая авторизация нужна, с куками опять же нужно отталкиваться от конкретной задачи, создаешь QNetworkCookieJar потом всему массиву передаешь экземпляр класса, ну или на крайняк разложи их по разным потокам.
Название: Re: QNetworkAccessManager и паралельные запросы Отправлено: SABROG от Май 30, 2010, 10:58 Но мне надо порядка 30 запросов отправлять (данных много), поэтому последовательный вариант с дожиданием реплая не подходит. Если создавать несколько менеджеров,как тогда обойти проблему с авторизацией и куками? Один QNAM может послать любое количество запросов сразу и ждать QNetworkReply после этого от любого из них. |