我可以知道qnetworkAccessManager是否完成了所有HTTP请求的处理

can i know if QNetworkAccessManager done processing all http requests?

本文关键字:HTTP 请求 处理 qnetworkAccessManager 是否 我可以      更新时间:2023-10-16

im在我的应用程序中的每个httpclient对象创建中使用qnetworkAccessManager,并在httpclass脱离堆栈后将其删除,我有300 http requests

我在Aloop中做的是,我知道从4.8开始,HTTP请求是多线程的,所以我不担心执行我喜欢的卑鄙,而且它的运作良好。

问题是说我怎么知道何时完成所有线程请求(所有300)我能发出一些信号吗?这是请求的循环,在HTTP客户端的一边有通常的HTTP信号

    QMapIterator<QString,QString> i(m_urlMap);
    while (i.hasNext())
    {
        i.next();        
        QString sUrl = i.value();;
         HttpClient* pHttpClient = new  HttpClient(m_pFileOutput,m_pMutex);
         bool bReturnInvokeHttpClient = false;
         bReturnInvokeHttpClient = pHttpClient->startRequest(sUrl);

    }

完成工作时,我是否需要Manully跟踪每个HTTPCLCLIENT M?

qnetworkAccessManager只有一个信号,当 a 请求完成时,它会熄灭,但是当最后一个时,没有一个信号。所以我是Afraif,您必须保持自己的追踪。

最好的问候