我可以使用QNetworkCookieJar
來檢索,存儲和重新發送QNetworkManager
的Cookie。多個QNetworkAccessManager
實例可以共享一個QNetworkCookieJar
。在Qt應用程序中共享Cookie的最佳方式
到目前爲止,我已經使用了多個QNetworkAccessManager
情況下,每一個類(在這裏我需要閱讀):
- 所以我可能會給整個1..1
QNetworkAccessManager
實例 - 或者是共享一個單
QNetworkCookieJar
最好只有一個單獨的QNetworkAccessManager
,在所有QNetworkRequest
之間共享一個Jar。作爲單一對象的方式是否是QNetworkAccessManager
?文檔說應該只有一個實例。那麼我會更好地使用單身人士QNetworkAccessManager
?
什麼是最合適的方法?
------編輯-------
kkoehne's answer是什麼,我可以告訴正確的。這也是文檔所說的。然而,嘗試這種方法時,我已經注意到2個問題:
- 雖然我們現在一個
QNetworkAccessManager
有每個Web服務,轉變爲一個單一實例意味着我需要時刻區分什麼樣的內容我剛剛收到「完成「插槽(從QNetworkAccessManager::finished
中調用的插槽)。這是可行的,但不方便。 - 我們用不同的線程運行我們的讀者 - 遺憾的是,我忘記在這個問題中提到這個問題。這使得幾乎不可能使用
QNetworkAccessManager
的單個實例,因爲成員函數是reentrant,但不是線程安全的。 (QNetworkAccessManager from ThreadPool)
相關:QNetworkAccessManager get/post from different thread possible?
正確,QNetworkAccessManager,而不是QNetworkManager我的錯誤。固定在上面 –