我有兴趣了解在Rails应用程序2-5Gb文件中处理大file upload的不同方法。 我知道,为了传输这个大小的文件,需要将它分解成更小的部分,我已经做了一些研究,这是我迄今为止所做的。 服务器端configuration将需要接受大的POST请求,可能是一个64位的机器来处理超过4Gb的任何东西 。 AWS支持分段上传。 HTML5 FileSystemAPI有一个持久的上传器,可以以块的forms上传文件。 Bitorrent的一个库,虽然这需要一个不理想的传输客户端 所有这些方法都可以恢复像FTP一样,我不想使用FTP的原因是我想保留在Web应用程序,如果这是可能的? 我已经使用carrierwave和回形针,但我正在寻找的东西,将可以恢复上传5Gb文件可能需要一些时间! 我列出的这些方法中,我想说明哪些方法运作良好,如果还有其他方法可能会丢失? 如果可能的话,没有插件,宁可不使用Java Applets或Flash。 另一个问题是,这些解决scheme在上传时将文件保存在内存中,如果可能的话,这也是一个我宁愿避免的限制。
还有更多的补充。 有没有可能只使用HTML和JavaScript构build一个洪stream客户端。 你不能使用像Java,ActiveX,NaCl等…如果是,请给出一个高层次的描述。 我没有太多有关前端开发的知识,但我认为websockets将能够进行networking连接(可以将一个客户端连接到另一个客户端,而无需将所有数据通过服务器?)。 我知道你不能使用JavaScript编写文件,所以我认为被下载的文件将不得不完全保存在内存中,否则客户端将不得不使用HTML5中的一个新的API来存储内容。
是否有任何适合Java的BitTorrent库? 我需要编写一个简单的洪stream客户端,但是如果我不必从头开始编写所有东西,那将是非常棒的。
我正在尝试使用BEncoding ObjC类来解码.torrent文件。 NSData *rawdata = [NSData dataWithContentsOfFile:@"/path/to/the.torrent"]; NSData *torrent = [BEncoding objectFromEncodedData:rawdata]; 当我NSLog torrent我得到以下内容: { announce = <68747470 3a2f2f74 6f727265 6e742e75 62756e74 752e636f 6d3a3639 36392f61 6e6e6f75 6e6365>; comment = <5562756e 74752043 44207265 6c656173 65732e75 62756e74 752e636f 6d>; "creation date" = 1225365524; info = { length = 732766208; name = <7562756e 74752d38 2e31302d 6465736b 746f702d 69333836 […]
我正在寻找教程/博客文章,如何一步一步实现bittorrent协议。 怎么运行的? 你如何向同侪请求? 并跟踪跟踪器。 我不介意编程语言(Java,ruby,Perl,C#)
如果我有一个没有任何追踪器的洪stream,而且我刚刚开始一个不知名的客户端,所以我还没有同行呢…我怎么知道在DHT中首先连接的是谁? 看来我必须知道DHT中至less有一个节点才能开始….
我正在尝试在Laravel中实现一个bittorrent跟踪器 。 但是,由于下载无法启动,所以暂时停滞不前。 有一个似乎是播种的同伴,我100%确定它是可以连接的。 但是,当我在另一台机器上运行第二个客户端时,下载将无法启动。 它被卡在“连接到同行”(uTorrent)。 当客户发布消息时,我会发送以下回复: d8:intervali1000e12:min intervali300e5:peers18: ؤ i ؑ XÚJU 6e 在下载客户端中,我有以下数据: 这是我的通知代码: <?php namespace App\Http\Controllers\Announce; use App\Helpers\BencodeHelper; use App\Models\Peer; use App\Models\PeerTorrent; use App\Models\Torrent; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Routing\Controller; use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\Log; class AnnounceController extends Controller { const __INTERVAL = 1000; const __TIMEOUT = 120; const __INTERVAL_MIN = […]
我第一次使用磁铁链接 。 好奇它是如何工作的,我查了一下规格,没有find答案。 wiki表示xt意思是“确切的主题”,后面跟着一个SHA1哈希的格式(在这个例子中是btih )。 我看到base32提到,知道它是每个字符5位和32个字符,我发现它正好持有160位,这正是SHA1的大小。 没有IP地址或任何空间,这只是一个SHA1。 那么,BitTorrent客户端如何find实际的文件呢? 我打开URL Snooper来查看它是否访问了一个页面(使用TCP),或者做了一个查找之类的事情,但是什么都没有发生。 我不知道客户如何find同行。 这个怎么用? 另外,什么是散列? 它是一个散列在一起的所有文件散列的散列吗? 也许这是所需的实际torrent文件的散列(剥离某些信息)? 在一个虚拟机中,我尝试了与uTorrent(刚刚安装)的磁盘链接,并find了同行。 第一个同行从哪里来? 这是新鲜的,没有其他种子。