2012-10-24 31 views
1

即时通讯使用QNetworkAccessManager中的每个httpClient对象创建我的应用程序,并删除它后,HttpClass走出堆栈,我有类似的300 http请求
即时通讯做在aloop,我知道从4.8的HTTP请求是多线程,所以我不要害怕像我喜欢的那样执行,而且它的工作很棒。
问题是说我怎么能知道什么时候所有的线程请求都完成了(所有的300)我能发出一些信号? 这是请求的循环,在侧面HTTP客户端也有常用的HTTP信号我可以知道QNetworkAccessManager是否完成处理所有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跟踪每个的HttpClient m如果它做它的工作吗?

回答

1

QNetworkAccessManager只有一个信号,当a请求结束时会关闭,但当最后一个请求结束时没有一个信号会熄灭。所以我不想跟踪自己。

致以问候

相关问题