我使用InternetSetFilePointer
和InternetReadFile
的組合來支持可恢復的下載。所以當我開始下載一個文件時,我會檢查是否已經有一部分文件,然後用我們所擁有的大小調用InternetSetFilePointer
,然後我開始閱讀。這工作...但是,這是我的觀察:WinInet可以在不重新開始的情況下恢復文件下載嗎?
如果我已經下載了90%的文件,並花了2分鐘這樣做,當我恢復時,第一次撥打InternetReadFile
需要大約2分鐘的回報!我只能得出結論,在幕後,它只是簡單地從頭開始下載文件,拋出一切,直到我給出的點InternetSetFilePointer
,然後它返回「下一個」數據。
所以問題是:
1)不WinInet的「模擬」 InternetSetFilePointer
,或者它真的給該信息到服務器?
2)有沒有辦法讓WinInet真正跳到所需的查找點,假設HTTP服務器支持這樣做?
我從下載的服務器是Amazon S3服務器,我99.9%確實支持簡歷。