我需要传输一份文件,文件大小在100到500MB之间,需要使用可靠且速度快的协议进行传输。同时,由于需要在印度境内传输,协议必须支持低带宽系统。
哪种协议最适合我使用呢?
我需要传输一份文件,文件大小在100到500MB之间,需要使用可靠且速度快的协议进行传输。同时,由于需要在印度境内传输,协议必须支持低带宽系统。
哪种协议最适合我使用呢?
Rsync是解决这个问题的好方法。它的设计目的是远程发送/更新大文件。
原始网站:http://samba.anu.edu.au/rsync/
使用ssh保护rsync:http://www.linux.com/archive/feature/113847
尽管FTP是最有效的文件传输协议,但它很难实现。我会使用HTTP。大多数平台都内置了支持,而且更加适应防火墙。
对于小文件和/或不太熟练的用户,HTTP可能是最好的选择。需要配置防火墙会让很多用户望而却步。几乎每个网络都允许通过端口80进行http传输,无需特殊配置。
但你提到了大文件。你可以编写传输代码,使其使用范围传输来重试中断的下载。
可能已经有人编写了一个文件传输库,可以自动处理部分传输和重试,但我不知道有哪个。
这与文件传输和.NET相关,尽管原帖没有以任何方式提到.NET。
使用MTOM Web服务和.NET 2.0分块发送文件
作者:Tim Mackey
如何使用MTOM(WSE 3)将大文件分块传输通过Web服务
请注意,您需要安装Web Service Enhancements 3.0(您会在文章中找到相关链接)。
祝您有一个愉快的一天!
我认为最好使用TCP协议。它是可靠的,而UDP则不是。虽然UDP作为一种尽力而为的协议更快,但并不“安全”。P2P程序使用UDP,因为它更快,真的不太在意数据包丢失。FTP通常使用TCP。因此,我建议使用TCP和套接字进行编程。使用像120000这样的端口,因为它们是免费的。