9

我可以用来传输大文件的最佳协议是什么,它应该是快速且可靠的?它必须支持低带宽系统,因为我需要在印度进行文件传输。文件大小可能为 100 到 500MB。

4

7 回答 7

10

Rsync 非常适合这个问题。它旨在远程发送/更新大文件。

  • 从命令行运行,因此您可以很容易地将其作为外部进程启动。
  • 它可以同步两个远程文件系统。
  • 它处理大文件大小
  • 它有一个聪明的算法,试图只复制文件中的差异。
  • 它被广泛实施并且是开源的。
  • 它具有节流功能,因此您可以限制传输使用的 WAN 连接量,以便您可以对其进行调整以避免其他连接进程挨饿。
  • 内部使用 zlib 压缩传输的数据块

原网站:http ://samba.anu.edu.au/rsync/

使用 ssh 保护 rsync:http ://www.linux.com/archive/feature/113847

详细功能:http ://en.wikipedia.org/wiki/Rsync

于 2010-01-09T11:14:43.337 回答
8

文件传输协议

BitTorrent

BitTorrent 是一种用于分发大量数据的点对点文件共享协议。

文件传输协议列表

于 2009-08-12T06:15:20.173 回答
4

尽管 FTP 是最有效的文件传输协议,但它很难实现。我会使用 HTTP。该支持内置在大多数平台上,并且对防火墙更具弹性。

于 2009-08-12T06:18:01.353 回答
2

FTP

于 2009-08-12T06:15:40.390 回答
0

HTTP 可能是小文件和/或不成熟用户的最佳选择。必须配置防火墙将阻止许多用户感冒。几乎每个网络都允许通过端口 80 进行 http 传输,无需特殊配置。

不过,您确实说过大文件。您可以编写传输代码,使其使用范围传输来重试中断的下载。

有人可能已经编写了一个文件传输库,可以自动处理部分传输和重试,尽管我不知道有一个。

于 2009-08-12T06:40:53.740 回答
0

这可能与文件传输和 .NET 有关,而不是原始帖子以任何形式或形式提到 .NET。

使用 MTOM Web 服务和 .NET 2.0 以块的形式发送文件 作者 Tim Mackey
如何使用 MTOM (WSE 3) 以小块的形式跨 Web 服务发送大文件

请注意,您需要安装Web Service Enhancements 3.0(您将在文章中找到相关链接)。

祝你有一个美好的一天,先生!

于 2009-08-12T07:01:49.720 回答
-5

嗯,我认为最好使用 TCP 协议。它是可靠的,而 UDP 不可靠。虽然 UDP 速度更快,但作为尽力而为的协议并不“安全”。P2P 程序使用 UDP,因为它更快,而且真的不太关心包丢失。FTP 通常使用 TCP。所以我建议通过套接字实现 TCP 和编程。使用 120000 之类的端口,因为它们是免费的。

于 2010-01-09T10:34:43.763 回答