有没有BitTorrent上传器的解决方案?

时间:2011-01-25 14:25:33

标签: asp.net file-upload bittorrent

我的客户要求能够上传非常大的文件。

我说的是7 GB文件。他们当前运行的网站是一个ASP.NET 4.0应用程序,显然我的网络应用程序的标准上传方案不起作用。

我正在考虑多种选择,试图找出最佳路线。

我正在考虑的一个选择是,我能做的就是拥有一个BitTorrent上传器。这个应用程序的最终用户通常会手头有相同的文件,因此想法是最终用户会去网站,说他们想要上传文件。此时,他们会选择该文件,然后服务器会立即将该人标记为该文件的种子。然后,我的网络应用程序将转到我们这边的预配置水蛭,并指示水蛭下载该文件。我希望在这个过程中或之后的某个时刻,洪流会在客户的网络上或其他地方找到其他播种机,但这就是想法。

那里有没有技术可以做到这一点?或者我是在描述一些我必须从头开始构建的东西?

1 个答案:

答案 0 :(得分:3)

使用BitTorrent听起来不太容易。为了使BT工作,您需要torrent文件。为了为特定文件创建torrent文件,您需要该文件(torrent文件基本上包含文件的哈希值)。一般来说,你需要一个跟踪器。你可以依靠一个公共的,但这可能是一个有风险的依赖。您可以自己操作,但这有其他挑战(对于一个,您必须确保它被锁定,因此它不会成为所有最新电影,音乐和电视的免费)。 / p>

假设您有一个跟踪器,那么您需要协调下载种子。您的用户将不得不创建torrent文件,这是一个额外复杂的步骤,然后可能通过常用的HTTP方法上传它们。除了让用户上传torrent之外,您还必须提醒用户开始在他们选择的客户端中播种torrent。然后你想要自动开始掠夺洪流(这里再次出现安全问题 - 如果用户为House的最新一集上传完全不相关的torrent怎么办?)。除了安全问题,这可能是最简单的部分 - 大多数torrent客户端可以配置为观看目录并自动开始下载该目录中的torrent文件。一旦你开始下载,你必须确保用户继续播种洪流,直到你完成,否则你将被困在一个无用的部分文件。

可以所有工作,但如果没有相当多的自定义工作,那么对于您的用户而言,这将是一个复杂的过程,并且可能超出他们的范围。显然我不知道你的具体要求,但我会关注更传统的文件传输协议,比如FTP ......