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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QNetworkAccessManager как ограничить количество запросов?  (Прочитано 2419 раз)
Zusykss
Гость
« : Февраль 07, 2017, 06:59 »

Всем доброго времени суток, такая вот задачка возникла, на последней итерации цикла, отправляю запрос, и если я ничего не делаю то m_manager посылает еще 4-5 запросов, а это мне не нужно так как, это посты в группу в одноклассники... Если я удаляю менеджер сразу после цикла он все равно отсылает один лишний запрос. Я пока поставил заглушку просто, на последнюю итерацию.

Но возможно как-то можно корректно ему сказать, что нужно ограничится один запросом а не больше....))

Код:
void OkAuth::StartFill()
{
    // initialization of objects QNetworkAccessManager, QNetworkCookieJar

    this->SetMapReq();
    m_replyStr += m_listGroups.at(0) + " - ";
    qDebug()  << m_listGroups.length();
    for(int i = 0; i < m_listGroups.length(); i++)
    {
        GetId(i);
        this->PostRequest();
    }
// если так делать будет один лишний запрос и все равно ошибка вылетает и программа виснет
   // m_manager.reset(new QNetworkAccessManager);

    int i =  m_fileLog.write(m_replyStr.toStdString().c_str());
    qDebug() << i ;

     if(m_fileLog.isOpen())
         m_fileLog.close();

}
void OkAuth::PostRequest()
{
    WriteMD5Hash();
    m_setting.WriteReqForPostOK(m_req, m_requestField, m_fields);
    m_reply = m_manager->get(m_req);

    QObject::connect(m_reply, &QNetworkReply::finished, &m_loop, &QEventLoop::quit);
    m_loop.exec();

    m_replyStr += m_reply->readAll() + "\r\n";
// если вот так делать, то все хорошо, только потом вылетает ошибка, и программа зависает
//m_manager.reset(new QNetworkAccessManager(this));
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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