2012-10-24 49 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請求結束時會關閉,但當最後一個請求結束時沒有一個信號會熄滅。所以我不想跟蹤自己。

致以問候

相關問題