首页 手机游戏 手机软件 新闻 攻略 手游礼包 手游开测 手游合集 手游专区 排行榜

从零开始下载(从零开始下载全本)

时间:2022-04-09 23:16:09

小编:爱码士

阅读:

在手机上看
手机扫描阅读
概述

当我们通过bt下载一个文件的时候,有没有想过为什么bt下载会比普通下载要快呢?这中间到底经历了哪些有趣的事情呢?这篇文章将为大家揭晓bt下载的秘密,并且我们将从零开始用golang手写一个bt下载的客户端,其他语言类似。

目录

本教程将分为两部分来详细介绍bt下载的细节:

1.通过示例演示bt下载的基本流程和原理

2.使用golang从0开始手写一个bt下载的客户端

3.针对客户端的缺点讨论改进方案

bt下载原理

BitTorrent是一个从互联网下载和分发文件的协议,在传统的client/server架构中,下载者们通常都从一个中心服务器获得一个完整文件内容,但在BitTorrent网络中,下载者们通常从其他人那里下载一个文件的分片,并且分享自己已经下载的分片,这样就构成了一个p2p(peer-to-peer)网络。用图片来描述就是:

从零开始下载(从零开始下载全本)

cs网络和p2p网络

概念

当我们要通过p2p网络下载一个文件时,我们首先会得到一个.torrent格式的文件,里面包含了要下载的文件的信息:从哪里知道其他人也在下载改文件,文件的指纹信息等。接下来需要解决的问题就是:我们如何找到其他的peers,这就像你想移民但你自己又没有途径,这时候你可以找一个中介,这个中介我们称之为tracker,他记录了peers的通信方式,peer和peer之间可以通过tracker来发现彼此。当我们获得了其他peers的信息之后,就可以和他们进行连接并下载文件了。拥有完整资源的peer都可以做种子。

搭建P2P网络

因此接下来我们将在本机手动搭建一个p2p网络,用以演示p2p的工作原理。首先需要一个tracker服务器BitCometTracker,peers们可以注册自己到该服务器,其他人从tracker服务器获得peers的列表。接下来需要用两个bt客户端,我们选择BitComet和qBittorrent。uTorrent有广告和流氓软件,所以不用他。

1.启动BitCometTracker,启动后会显示使用的端口8080

从零开始下载(从零开始下载全本)

2.启动BitComet客户端,点击“文件”-》“制作torrent文件”-》选择一个文件,填写tracker服务器地址为http://127.0.0.1:8080/announce,任务列表中就会出现一个待上传的列表。这个过程俗称“做种”

从零开始下载(从零开始下载全本)

bt种子

3.把刚才生成的.torrent文件拷贝到其他目录,启动qbittorrent客户端,在客户端中载入刚才拷贝过来的.torrent文件,可以看到正在下载

从零开始下载(从零开始下载全本)

bt下载

好,到现在为止,我们已经了解了BT下载的原理和流程,下篇文章我们将用golang实现一个这样的简易的BT下载客户端。敬请关注!

本文标签:

相关阅读 更多
从零开始

从零开始

  • 类型:动作冒险
  • 语言:中文
  • 大小: 16.06M
  • 版本: v1.0.0
  • 星级:
简介:从零开始手游中玩家可以自由探索这片未知的沙盒幻想世界,开放式的世界,高自由度的玩法,还有海量个性化的道具和材料可以收集和使用,致力于给玩家打造一个自由自在的世界。游戏以
立即下载