我可以用來傳輸大文件的最佳協議是什麼,應該快速且可靠? 它必須支持低帶寬系統,因爲我需要在整個印度傳輸文件。文件大小可能爲100到500MB。哪種協議最適合文件傳輸
回答
即使是FTP文件傳輸的最有效的協議,這是相當難以實施。我會使用HTTP。該支持內置於大多數平臺上,對防火牆更具彈性。
自己實現協議沒有意義,只需使用一些現有的庫。 – 2009-08-12 06:28:18
vsftpd將是最簡單的選擇。可以通過apt-get來安裝。 – admrply 2016-06-15 22:02:56
HTTP可能是小文件和/或不熟練用戶的選擇。不得不配置防火牆會阻止許多用戶感冒。幾乎每個網絡都允許通過端口80進行http傳輸,無需特殊配置。
雖然你確實說過大文件。您可以編寫傳輸代碼,使其使用範圍傳輸重試中斷的下載。
有人可能已經寫了一個文件傳輸庫,可以自動處理部分傳輸和重試,但我不知道其中之一。
這可能與文件傳輸和.NET有一定的相關性,而不是原始文章以任何形式或形式提到.NET。
Sending Files in Chunks with MTOM Web Services and .NET 2.0 由蒂姆·麥基
如何使用MTOM小塊發送跨Web服務的大型文件(WSE 3)
只是注意,您需要安裝的Web服務增強3.0(你會在文章中找到相關鏈接)。
還有一個美好的一天先生!
那麼我認爲最好使用TCP協議。它是可靠的,UDP不是。由於盡力而爲協議不「安全」,UDP速度更快。 P2P程序使用UDP,因爲它速度更快,真的不關心丟包。 FTP通常使用TCP。所以我建議通過套接字實現TCP和程序。使用像120000這樣的端口或其他東西,因爲這些是免費的。
Rsync非常適合這個問題。它旨在遠程發送/更新大文件。
- 從命令行運行,因此您可以很容易地將其作爲外部進程啓動。
- 它可以同步兩個遠程文件系統。
- 它處理大文件大小。
- 它有一個巧妙的算法,旨在只複製文件周圍的差異。
- 它被廣泛實施並且是開源。
- 它有一個節流能力所以你可以限制多少WAN連接你用的傳輸,所以你可以調整它,以避免捱餓其他連接過程。
- 內部使用的zlib壓縮傳送的數據塊
原始網站:http://samba.anu.edu.au/rsync/
使用ssh固定rsync的:http://www.linux.com/archive/feature/113847
GBProtocol能傳輸文件更快比FTP,你可以在GBProtocol vs FTP
- 1. 使用哪種消息傳遞協議?
- 2. Winforms和TimeSpan - 哪種控件最適合?
- 3. 哪種認證協議?
- 4. 文件傳輸協議和AS400
- 5. 哪種AWS服務最適合靜態文件
- 6. 哪種方法最適合快速從光驅讀取文件?
- 7. 哪種哈希算法最適合HMAC
- 8. MongoDB哪種模式最適合存儲?
- 9. 哪種PayPal設置最適合市場?
- 10. 哪種測量最適合使用?
- 11. 哪個協議(FTP或HTTP)更適合下載/上傳小文件或大文件?
- 12. 哪種格式是最適合上傳的視頻和音頻
- 13. SMTP - 簡單郵件傳輸協議
- 14. 要使用哪種Exchange協議?
- 15. 哪種協議? svn://或http(s)://?
- 16. Hadoop shuffle使用哪種協議?
- 17. Firebase使用哪種加密協議?
- 18. 哪種協議用於音樂流?
- 19. 符合多種協議的Casting類型作爲單個協議
- 20. 爲回合制遊戲服務器選擇哪種協議
- 21. 哪種安全MAVLink協議是最好的加密算法?
- 22. 哪個文件上傳協議(FTP/HTTP)適合具有高度不可靠網絡的移動設備
- 23. 如何讓ViewController符合多種協議?
- 24. 協議可枚舉不適合3
- 25. 哪種變量更適合?
- 26. 哪種URL更適合Laravel?
- 27. 好友列表最適合哪種控件?
- 28. NSMutableArray或NSMutableDictionary:哪種情況最適合這種情況?
- 29. 哪種MySQL架構最適合這種類型的系統
- 30. 符合協議?
您應該爲此問題提供更多的上下文。文件有多大?您是通過局域網,高帶寬廣域網,低帶寬互聯網連接傳輸文件嗎? – Amok 2009-08-12 06:17:59
這個C#怎麼樣? – Oskar 2009-08-12 06:48:07
並且在上下文中也是相關的:請指定低帶寬;是9600bps;數據包每秒或<1Mbps?連接的可靠性如何?連接可能會退出?多少個同伴(或者只是1對1的連接)? – Adriaan 2009-08-12 07:26:59