我已經使用wininet發送一些同步的HTTP請求。現在,我想更進一步,想要異步請求一些內容。使用wininet的異步請求
目標是獲得「反向代理」狀的東西。我發送一個HTTP請求,延遲得到答覆 - 只要有人想聯繫我。我的線程應該繼續,因爲在此期間沒有任何內容,並且一旦響應到達,應該在此線程中調用回調。請注意,我不想要第二個處理回覆的線程(如果有必要,它應該只提供一些中斷主線程來調用回調的機制)!
更新:也許,來形容我想要的最好的辦法就是像在JavaScript中,你只有一個線程,但可以發送AJAX請求,然後導致回調被調用這個主線程的行爲。
因爲我想了解它是如何工作的,所以我不需要庫解決方案。有誰知道一些很好的教程,它解釋瞭如何實現我想要的行爲?
如果你不想有第二個線程,你顯然需要一些同步機制來檢索調用該請求的線程中的通知 - 沒有什麼神奇的方法來調用忙於其他線程的回調的東西。 – 2009-12-29 22:43:40
因此,InternetSetStatusCallback啓動一個新的線程?你會建議什麼同步機制? – Etan 2009-12-29 22:54:19
「WaitForSingleObject」等似乎不適合,因爲我不知道什麼時候需要等待。我需要更多的「推」式同步機制,它會中斷主線程來調用我的回調 – Etan 2009-12-29 23:12:27