2014-04-20 22 views
3

我正在使用tcp二進制協議的節儉,用於發送和讀取文件(最大大小爲64MB)。 節儉有能力嗎?在消息中節儉大文件

我一直在使用心想:

struct SomeMessage { 
1: byte data 
} 

節儉如何高效樣?編組/發送/通過電報發送?

+0

你想發送數據到服務,接收它或兩者? – JensG

+0

在兩個單獨的方法 – Yosi

回答

5

節儉有能力,推薦的數據類型是binary。使用byte將只傳送一個帶符號的8位數字,而list<byte>效率較低。

問題是,將負載加載到Thrift服務上是否有意義。例如,通過下載,通過傳遞鏈接或某物延遲傳輸可能更有意義。類似於客戶端,並且通過其他一些機制來傳遞(靜態)文件。不過,這取決於您的方案,並且在客戶端將數據發送到服務器時可能不起作用。

關於整體效率,可以在Google代碼中找到一些比較好的比較結果。同樣,如果您獲得的表現符合您的需求,則取決於您遇到的問題和限制。對此沒有有限的答案。

+0

此外,我還建議大塊文件爲[顯示在這裏](http://stackoverflow.com/questions/20960541/file-transport-between-server-client) – JensG