我是Haxe和我的第一個項目的新手,我想編寫一個簡單的程序,從服務器上下載一個文件。我的目標是C++。從服務器下載文件(C++目標)
我一直在尋找haxe.Http
,但我不認爲這是適當的二進制數據,它有一個onData
和responseData
財產,但這些都是字符串。我也不認爲它適合大文件,僅僅因爲它將所有響應數據存儲在內存中。
- 是否有另一個班級,我應該使用,而不是
haxe.Http
? - 我應該使用
sys.net.Socket
編寫我自己的HTTP解析器嗎?
我是Haxe和我的第一個項目的新手,我想編寫一個簡單的程序,從服務器上下載一個文件。我的目標是C++。從服務器下載文件(C++目標)
我一直在尋找haxe.Http
,但我不認爲這是適當的二進制數據,它有一個onData
和responseData
財產,但這些都是字符串。我也不認爲它適合大文件,僅僅因爲它將所有響應數據存儲在內存中。
haxe.Http
?sys.net.Socket
編寫我自己的HTTP解析器嗎?如果你是Haxe的初學者,作爲一個簡單的開始,我會簡單地嘗試使用同步(阻塞)方式,因爲它非常簡單,然後將內容寫入文件以檢查它是否真正起作用C++。
例如:
class TestHttp {
public static function main() {
var content : String = haxe.Http.requestUrl("http://somedomain/path/to/file");
sys.io.File.write("/path/to/some/local/file", true).writeString(content);
trace(content.length + " bytes downloaded");
}
}
如果這對你的作品在C++中,那麼你就可以花更多的時間來編寫一個異步解決方案,使用昂達甚至套接字。我現在不寫一個異步解決方案,因爲它需要你的程序有一個無限循環(while(true)),而且我不太確定這個時候你是否已經有一個主循環。
另外不要忘記關閉File.write()返回的FileOutput。 – 2017-07-07 09:06:24
任何人都喜歡評論有關downvotes?如果你解釋這個問題,或許我可以解決這個問題。 – Drahcir 2014-10-03 14:04:20
可能是因爲你正在走向離題的三連勝。你的前兩個問題看起來太寬泛了,最後一個問題不在SO的範圍內(請教教程)。 – 2014-10-03 14:12:33
@CaptainObvlious感謝您的建議,我已經更新了這些問題。 – Drahcir 2014-10-03 14:16:36