这篇文章给大家聊聊关于比特彗星磁盘提速服务未安装,以及比特彗星磁盘提速服务未安装怎么办对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
本文目录
我用BitComet下在东西为什么只有几kb/s什么是BT下载我用BitComet下在东西为什么只有几kb/s写在前面:BC中包含数字的各选项框均可使用上下箭头调整或直接输入数字进行调整。如果需要恢复默认设置,删除安装目录下的bitcomet.xml文件后重启程序即可。
网络连接
连接设置
全局最大下载速率:默认为无限制,最低为1KB。
全局最大上传速率:默认为无限制,最低为3KB。
BT下载的原则是上传越多下载越快,普通宽带用户使用默认无限制设置即可。ADSL用户由于上传过大会影响下载,建议适当限制上传速度,一般为最大上传速度的80%。
任务计划
最多同时进行的下载任务数:默认为10。
此设置仅针对下载任务,上传任务不列入控制范围。超过设定值之后打开的下载任务将自动进入队列状态,排队等候开始。(对队列中的任务再次选择开始,可突破选项设置)
自动开始新任务如果总下载速度低于:默认为无限制。
如果在一段时间内总下载速度小于设定值,则会自动将队列中的第一个任务变成下载状态,注意停止的任务不能被自动开始。
应用举例:将同时进行的下载任务数设为1,可实现一个接一个的自动下载。同时合理设置第二项,可有效避免流量浪费。
监听端口
监听端口,选择随机端口:默认值为随机产生。
和原始BT软件不同,BC只需要1个端口即可对应多个任务,通常不必修改默认设置,一般用什么端口都没有区别的,如果已经在路由器上设置了端口映射,则在选项框中输入相应的端口即可。
代理
代理服务器类型:NoProxy(无代理)
需要使用代理才能上网的用户,请按照代理服务器设置填写相关内容。代理服务器及技术原理请自行查找学习。
任务设置
下载管理
默认下载目录:默认值为BC安装目录/Downloads文件夹
用户可自行改变设置,推荐将默认下载目录设定在非系统盘、空间足够大的分区上,分区格式最好为NTFS已避免不能下载4G以上容量文件的情况。
添加任务时不出现提示窗口:默认为不选
勾选此项可使torrent文件在打开后直接进入BC下载队列,而不出现任务属性窗口。
下载前先分配空间:默认为不选
勾选此项,可在硬盘上预先为下载文件分配应有的容量,否则将会在下载过程中动态地为文件分配空间。但是对于一些配置较低的用户,勾上此项后,在下载大容量文件前的分配空间阶段,可能会有一段时间系统无响应。请根据实际状况设置此项。
给未完成的文件添加!bc后缀:默认为选上
勾选此项可自动为未完成文件添加!bc的扩展名,任务完成后自动去除。但是个别时候会有文件下载不完全但已经可以使用的情况,且一些用户不熟悉文件扩展名操作容易造成一些误会,建议没有特殊需要的用户不勾选此项。
移除任务时删除0字节尚未下载的文件:默认为选上
任务下载完成时
下载完成时再次扫描文件确保完整性:默认为不选
某些情况下显示为完成的任务不能使用,再次扫描完整性会显示并不是真正100%完成。勾选此项可有效解决上述问题,但是扫描文件完整性时会占用大量系统资源,建议不经常出现上述问题的用户不选此项。
当分享率达到百分之多少时自动停止任务:默认为无限制
设置此项后,当任务下载完成时,若分享率达到设定值,则任务自动停止,若未达到设定值,则将保持上传直到达到设定值后,任务停止。不选此项,则任务下载完成后仍将一直保持上传状态。
如果种子少于多少则继续保持上传:默认为5
延续上项设置,若停止任务设置为无限制则此项不会生效。若任务可连接种子数小于设定值,则达到上项设定的分享率,任务也不会停止。
当所有任务都自动停止后关闭电脑:默认为不选
延续上两项设置,若停止任务设置为无限制则此项不会生效。若设置了停止任务分享率,则所有进行中任务均达到上两项设定并自动停止后,将自动关闭电脑。
如无特殊需要,推荐保持上三项的默认设定以体现共享精神,切记你的下载也正是来源自他人的上传。
上传管理
每任务最大上传速度:默认为无限制,最低为3KB
和全局速度限制不同,此项设置为每任务上传速度限制,且每任务速度之和若大于全局上传限制,则会取全局数为速度限制值。
每任务保证上传速度:默认为无限制
上传任务的保证上传速度:默认/最低为3KB
BC做种上传任务的优先级小于下载任务,导致某些情况下做种上传任务往往不能获得应有带宽,设置此项可使做种任务以保证速度以上的速度做种,避免做种但无上传速度的情况发生。
界面外观
Bitcomet启动时
当我登陆windows时自动启动Bitcomet:默认为不选
Bitcomet启动时自动开始下载上传任务:默认为不选
选择此项可以在BC启动时自动继续上次关闭BC时处于运行状态的任务,注意停止的任务是不会被自动运行的。
Bitcomet启动时最小化到系统托盘:默认为不选
启动时打开网页:默认为空
Bitcomet运行时
最小化到系统托盘:默认为选上
任务运行时防止系统进入待机/休眠状态:默认为选上
允许系统托盘气球提示:默认为选上
系统托盘气球提示显示时间:默认为20秒
运行时添加制作torrent的快捷方式到右键菜单:默认为不选
最多显示的peer数量:默认为100
此选项可调整用户列表中显示的用户ip及相关信息的数量,与实际连接用户(peer)数量无关。建议保持默认设定。
在bitcomet中浏览网页:默认为选上
勾选此项后,BC中的网页链接如侧边栏链接将采用BC内置浏览器直接打开。否则将使用系统默认浏览器打开。
工具栏显示按钮文字:默认为选上。
Bitcomet退出时
在主窗口按关闭按钮时最小化到系统托盘:默认为不选
在有任务运行时退出则弹出确认窗口:默认为选上
聊天设置
允许聊天:默认为不选
昵称:默认为空
启用聊天选项后,可与下载同一torrent并使用BC的在线用户聊天交流。
高级设置
启动时自动检查版本更新:默认为选上
作为默认BT客户端:默认为选上
如果多少分钟之内不能连接则添加备用Tracker:默认为30
备用tracker列表:默认为空
可以添加某些支持多tracker的服务器做为备用tracker,作为连接不上原服务器的备份方案。
网络连接
允许打开windows网络共享和防火墙ICS/ICF端口(XP有效):默认为选上。
如果使用了windows的网络共享或防火墙,其默认设置可能并不对BC使用的端口开放,从而造成BC连不上服务器或peer等问题,选择此项可自动在设置里添加允许BC端口通过。
允许使用UPNP自动端口映射(xp有效):默认为选上
对于某些网关设备支持自动端口映射(极少见)的用户来说,此项设置可以自动打开网关设备对BC监听端口的映射从而使用户获得远程连接。如果能修改网关设置的,推荐手动进行端口映射,映射方法见论坛相关贴或自行google解决。
注意:某些情况下,选择此项会导致一些断网、死机之类的问题,确认此选项对自己无效的用户推荐不选此项。
推出时删除NAT和防火墙端口:默认为不选
仅对以上两项成功的用户有作用,遗留相关端口设置可能会造成一些安全隐患,可能而已……。
每任务最大连接数:默认为自动调整
每任务保持连接数:默认为自动调整
虽然选项字面意义上不同,但其实设置的效果都一样,BC会以两个选项数值大的那个为目标,努力的发起并保持连接数。比如不管你设0-500还是500-500,最终都是保持500的连接数(当然,前提条件是torrent的连接数要够,否则是以你的可能连接数为准)
默认虽然是自动,但其实是60,因此对于大多数BT速度和HTTP速度差距较大的用户来说,加大连接数是提速的最佳选择,只要设备支持的住,当然是数值的越大越好。
注意:对于一些经常在下载中断网、死机的用户来说(原因基本上都是设备无法支撑大批量的连接,或者运营商做出了限制),合理设置此项也是消除问题的关键。
至于到底设多少并没有统一的标准可供参考,请根据自己实际情况调整。
全局最大上传连接数:默认为自动调整
全局保证上传连接数:默认为自动调整
上传连接数是包含在总连接数里的,设置此项是另一种的限速办法,有需要的可根据实际情况调整。
连接发送分包大小:默认为自动调整
保留默认设置即可,设置多少对软件性能无明显影响。
连接发起间隔:默认为300毫秒
建议保留默认设置。一般服务器端会对连接做出限制,因此客户端的调整并没有太大的意义。
最大同时尝试的TCP连接个数:默认为500(XPsp2系统下为10)
微软发布的WindowsXPSP2增加了TCP同时连接尝试的限制并且设定为一个很小的值10,系统的TCP连接尝试超过这个值的时候,系统会因为安全因素而拒绝连接。这样做的本意是为了防止冲击波之类的蠕虫病毒,但这样一来某些p2p软件就遭殃了,连接繁忙时可能导致所有网络连接都无法进行了。各位可以在控制面板-管理工具-时间查看器-系统里看到来源为tcpip的ID为4226的警告:“TCP/IP已经达到并发TCP连接尝试次数的安全限制。”微软对这个警告描述如下:Event4226,EVENT_TCPIP_TCP_CONNECT_LIMIT_REACHED[链接]。这个问题对BitComet的内网用户尤其明显,因为内网用户只能通过主动发起TCP连接来连上别的客户端。
有一个第三方补丁[下载][论坛讨论]可以更改tcpip.sys从而修正系统的连接数限制问题。目前可以使用这个第三方补丁的操作系统是:WindowsXPSP2(RC2以上)或者Windows2003ServerSP1beta。这个补丁目前的版本是2.11a,可以在附件里下载~
最简单的安装方法是解压后双击运行EvID4226Patch.exe,然后按Y就可以了(默认将这个限制放宽到了50,如果按“C”可以将其修改为更大的数字)。因为修改的是tcpip.sys这个系统文件,Windows会弹出Windows文件保护的对话框,点取消然后选择保留当前版本就好了。重启后生效。
关于这个补丁的详细问题请参阅:http://www.lvllord.de/
BitComet0.55及以后的版本基本解决了这个问题,无需任何配置就可以在XPSP2下正常工作[阅读新闻]。BitComet会自动检测XPSP2然后自动设置适当的尝试连接个数。但是内网用户如果觉得总是连不上其他客户端,仍然建议安装此补丁。如果安装了那个补丁,别忘了同时在BitComet的选项-高级-连接里面增大最大同时尝试的TCP连接个数从而优化性能。
还有要关闭SP2防火墙和安全中心的:
打开控制面板---管理工具---服务---将SecurityCenter关闭了并且设置为禁用!
打开网络连接----本地连接----高级---Windows防火墙,点击设置---把安全中心防火墙设置为禁用!
是否允许通过UDP实现内网互联:默认为自动检测
内网互联是目前解决内网用户之间互联互通的一个比较好的方法,BC的内网互联可以大幅度提高内网用户的速度(尤其是冷门torrent的速度)。
需要注意的是内网互联目前还处于发展初期,功能的实现依赖于内网互联服务器,不同的BT客户端之间也不能互通。
注意:由于实现内网互联功能需要部分带宽来用作与服务器的数据交换,而且对于公网用户(有远程连接)来说完全不需要内网互联,因此非内网用户推荐禁止内网互联。
并且,有部分内网用户,由于网关设备的局限,内网互联功能大量的UDP连接会导致断网等现象,因此出现网络异常状态的内网用户也推荐禁止内网互联。
ip规则
允许向服务器报告内网ip便于子网内连接:默认为选上
解决同一子网内用户由于对外ip相同产生的连接问题(待考证),推荐保留默认设置。
启用IP过滤配置文件ipfilter.dat(与emule兼容):默认为选上
Ipfiler.dat文件位于BC安装目录下的rules文件夹内,可使用记事本(notepad)等文本编辑软件查看使用方法或进行编辑。用户可自定义禁止与某些IP的连接(尤其适用于不希望产生国外流量费的用户)。
下载任务每ip最大允许连接数:默认为3
上传任务每ip最大允许连接数:默认为1
偶尔用户列表会出现大量同一ip甚至同一端口的用户连接(产生原因及影响不明),建议保留默认设置以避免此类状况发生。
磁盘缓存
磁盘缓存最小值:默认为6MB
磁盘缓存最大值:默认为50MB
合理设置磁盘缓存可在一定程度上降低硬盘损耗,BC的智能缓存技术也可有效减少磁盘碎片的产生。在最大最小值范围内,BC运行时的实际缓存使用量将取决于全局连接数等数据,用户可根据实际使用情况加大最大值(原则上缓存设置越大越好)。
减小缓存当空闲物理内存低于:默认为50MB
一定的空闲物理内存将保证用户在使用BC下载的同时流畅进行其他操作,BC将调整使用的缓存量以保证当前空闲物理内存大于设定值。
参考资料:http://www.bxbx.cn/html/200508/305.html
什么是BT下载BT运行原理分析及内网提速方法。
由于内网用户无法提供一个对外的端口,所以无法做服务器.但用BT的时候,发现它可以让内网用户做Send,作为程序员就忍不住下载了它的源代码分析了一把(为了看它,还专门去写了一下Python:})
比起其它的P2P软件,BT有个独特的地方,它存在一个中间的WEB服务器,就是我们在发布的时所填写的announce.该服务器提供了发布的统一管理,不像其它P2P软件那样到处去找哪些非常不稳定的个人服务器,相对起来让人安心的多.
该WEB服务器更大的作用是内网用户可以做Send(下面会说明原理),这是其它软件无法做到的,但不好的地方是announce当机的时候就无法下载了,要知道P2P下载关键是要人气要高,announce停一下就搞到人气全没有了
.torrent的作用
大家都知道我们要用BT下载,就要先下载一个.torrent文件,这个文件到底有甚么呢:
首先是announce纪录了发布服务器的位置,让BT知道是那个WEB服务器发布的
然后是一些文件信息,文件名,目录名,长度等等
最后是片段长度,和片段的Sha1校验码
(BT为了事现续传和文件校验,就把文件分成若干个片段)
大家可以用写字板打看torrent文件看看,就是知道个大概,后面的乱码是片段Sha1校验码
开始-续传的实现sha校验
BT打开一个torrent文件后,先要你选择文件保存那里.然后判断文件不存在的话就建立新文件,存在的话就用Sha1校验码去校验文件---错误的就是还没下载的,这样就可以实现续传了,但128位校验,想不慢都不行
得到peer
现在知道要下载甚么了,到那里下载呢?这就要寻找有谁提供上传了,这里BT是通过WEB服务器来实现的,首先BT会通过分析torrent来得到一面一串网址
http://btfans.3322.org:6969/announc...2&event=started;
http://btfans.3322.org:6969/announce;是发布服务器的地址
info_hash是torrent文件中的info部分的Sha校验码,WEB通过它在发布列表找到对应的纪录,
peer_id是自身的标识,它是12个0和当前时间+全球的唯一标识码(GUID)的Sha校验的前八位,共20位
port你提供上传的port
IP你的ip地址,没有的话服务器会自己找到
uploadeddownloaded你上传和下载了多少,服务器可以用它来做流量分析
left你还要下载多少个字节
event状态,告诉服务器你是准备开始下载,还是停止,还是下载完成了
以上这个操作默认5分钟做一次,或由服务器设定
服务器会做甚么
服务器中有个一个track程序来管理这些请求
得到这一串代码后就会用info_hash来查找列表,找到你就可以下载,找不到就对不起啦
接着它会反连(NatCheck)你的IP和Port这样就可以知道你是内网用户还是共网用户(如果你是内网用户,它是连不通的,因为它会连到你的服务器上,你的服务器当然没有这个端口啦)
然后服务器返回现在正在下载这个文件的所有公网用户的IP和port,就像是这样
d8:intervali1800e5eersld2:ip14:xxx.xxx.xx.xxx7eerid20:00180531904b7e3abdd74orti6881eeee
interval1800是告诉BT隔多少秒来查询一次这里是30分钟(有点过分了)
最后如果你是公网用户它会把你提交的IP和Port放到info_hash对应的列表中,这样其它人就可以找到你
下载
得到这些peerIP后,BT就可以找到对应的IP下载了
Bt会到所有的peer去寻找自己要下载的东西,不是一定要到seed下载.
Bt每找到一个peer就和建立一个Socket来下载,所以下载的人越多,速度就越快.
内网用户可以做Send的原理
上面说到服务器只会返回公网的ip的,那内网用户怎么可以做Send呢,这是因为BT是一个主动连接的软件(即使你已经下载完了,也不也会主动连接他人)
下面是一个仿真流程:
1内网用户开始做seed,
2服务器收到请求,由于是第一个所以也没有peer返回
3公网用户提交请求,由于seed是内网用户所以也没有peer返回,等待下载,但服务器会把它的IP放到列表中
4内网经过interval时间间隔后,再向服务器放出请求,得到上面得公网IP
5得到公网IP后,内网马上进行连接
6公网用户建立连接,数据开始传输(注意现在是公网用户做服务器,内网用户做客户端,是不是有点怪)
7其它内网用户去上面公网用户下载数据
所以,内网用户做seed一定要有公网用户得参与,否则其它内网用户无法下载.如果全部是内网用户,那个所有连接都不会成立,当然这是比较极端的情况.
以上可见,内网用户不能和内网用户连接,其它用户无法从服务器查到你,所以无法主动连接你,你只能每隔30分钟从服务器找到公网用户一个个进行连接.
由于中国很多用户的是内网用户(我从服务器上查回来的peer还没试过超过10个的),所以内网用户用BT的确要比公网用户要慢很多.于是有了下面的
一直是0%:
可能SEED是内网,连接不上。有时用PTC和shareaza无法下的东东,用BT就可以下。
下不了的话具体原因跟具体情况有关,如你的网络是否局域网,你是否能访问到tracker,你使用的是那种客户端,你下载的具体是哪一个BT文件,你是从头开始下还是续传,续传的话之前是否死机过等这些都有关系。
BT下载慢的一些原因:
1、不是公网用户。内网用户不能提供主动连接,所以较慢
2、各个运营商网络接口速率不高
3、下载者上传速率不高。因为BT优先处理上传较快的人
4、发布时seed的多少,还与发布者的速率相关,还有下载的人数越多相应的下载速度就越快(这就是BT的最大优点)
5、用户的防火墙阻碍作用
关于BT错误信息的一些解释
最近发现有很多人问有关BT的出错信息,下面给出完整的解释:
事实上,当你看到这些错误提示时,其实并不要紧张,这是你所要做的便是----等待.
注意:使用BT过程中出现红字错误后不必退出,BT会自动重试(无论这种情况是出现在开始还是下载过程中)另外注意错误的时间,如果距现在已经超过5分钟,恰恰说明现在是正常的。(BT不会自动清除过期的错误)
I.Apiecefailedhashchech,re-downloadingit
这并不是什么坏消息,你不用理会它.意思是告诉你,你下载的文件有一部分是坏的,bt会自动帮你重新下载错误的部分.导致这个错误的大多数原因在于某些人错误的使用了"跳过hash检查"这个选项
II.baddatafromtracker-
通常你不必理会它,通常是tracker服务器过载或者down了.也有可能是你的网掉线了(如部分长宽,访问任何网站会返回登陆界面,就是错误的data啦)
III.Problemconnectingtotracker-timeoutexceeded
Problemconnectingtotracker-HTTPError503:Connectfailed
Problemconnectingtotracker-[Errnosocketerror](10061,"Connectionrefused")
Problemconnectingtotracker-(111,\'Connectionrefused\')
说明在连接tracker服务器过程中出现错误,有可能trakker服务器过载或者down了,这时并不要心急,等待BT自动重试.如果很长时间都没有反映的话,你可以加上"--http_timeout120"的参数来加大连接重试时间.具体做法另文说明.
IV.Problemconnectingtotracker-HTTPError400:NotAuthorized
说明这个tracker服务器不允许你使用这个torrent文件(国内好像比较少见),有些tracker服务器只允许在他们自己网站上发布的torrent才允许下载.解决只有换一个torrent文件了,:P
V.Problemconnectingtotracker-HTTPError404:NotFound
很简单,torrent文件在tracker服务器上已经找不到了,找个新的吧.
VI.Problemconnectingtotracker-HTTPError407:ProxyAuthenticationRequired
假如你用的是代理下载BT,说明这个代理需要验证,需要你输入用户名和密码.
VII.Problemgettingresponseinfo-[Errno2]Nosuchfileordirectory:"C:\\\\DocumentsandSett..."
在某些情况下,IE有可能没把torrent文件存在临时文件夹内.解决方法是在torrent文件下载地址上按右键,然后另存到硬盘的某处(这可是个好习惯,以后你求种子或者reseed的时候特别有用,建议大家都这么干,利己利人),然后双击这
个torrent文件开始下载.如果出现这个问题,建议清楚你的IE缓存,在文件中如果出现"["或者"]"也会出现这个问题.
BitTorrent协议详解
BitTorrent(简称BT,比特洪流)是一个文件分发协议,它通过URL识别内容并且和网络无缝结合。它在HTTP平台上的优势在于,同时下在一个文件的下载者在下载的同时不断互相上传数据,使文件源可以在很有限的负载增加的情况下支持大量下载者同时下载。
一个BT式文件分发需要以下实体:
·一个普通网络服务器
·一个静态元信息文件
·一个BTTracker
·一个“原始”下载者
·网络终端浏览者
·网络终端下载者
这里假设理想情况下一个文件有多个下载者。
架设一个BT服务器步骤如下:
1.开始运行Tracker(已运行的跳过这一步);
2.开始运行普通网络服务器端程序,如Apache,已运行的跳过这一步;
3.在网络服务器上将.torrent文件关联到Mimetype类型application/x-bittorrent(已关联的跳过这一步);
4.用要发布的完整文件和Tracker的URL创建一个元信息文件(.torrent文件);
5.将元信息文件放置在网络服务器上;
6.在网页上发布元信息文件(.torrent文件)链接;
7.原始下载者提供完整的文件(原本)。
通过BT下载步骤如下:
1.安装BT客户端程序(已安装的跳过这一步);
2.上网;
3.点击一个链到.torrent文件的链接;
4.选择本地存储路径,选定需要下载的文件(对有选择下载功能的BT客户端用户);
5.等待下载完成;
6.用户退出下载(之前下载者不停止上传)。
连接状况如下:
·网站正常提供静态文件连接,并且启动客户端上的BT程序;
·Tracker即时接收所有下载者信息,并且给每个下载者一份随机的peer列表。通过HTTP或HTTPS协议实现;
·下载者每隔一段时间连一次Tracher,告知自己的进度,并和那些已经直接连接上的peer进行数据的上传下载。这些连接遵循BitTorrentpeer协议,通过TCP协议进行通信。
·原始下载者只上传不下载,他拥有整个文件,所以很必要向网络中传输完文件的所有部分。在一些人气很旺的下载中,原始下载者经常可以在较短的时间内退出上传,由其它已经下载到整个文件的下载者继续提供上传。
元信息文件和Tracker的回应信息都以一种简单高效可扩展的格式(Bencoding,B编码)传送。经过B编码方式编码后的信息,将由字符串和整型数字描述,嵌套在字典和列表中(像在Python中一样),忽略字典无法识别的关键值,用以增强可扩展能力。这样,新特性便可以在以后被加入。
B编码规则如下:
·字符串的表示方法为:字符串长度(十进制表示),冒号,字符串。比如,字符串'spam'(不包括引号)将被表示为:'4:spam'(不包括引号),4表示字符串长度。
·整型数据表示成前面加'i'后面加'e'中间是十进制数,如i3e就相当于3,i-3e就是-3。整型数据没有长度限制。i-0e无效,所有以'i0'开头的除了代表0的i0e,其它都无效。
·列表编码为一个'l'开头后面跟它所包含的项目(已经编码过)最后加一个'e',比如l4:spam4:eggse就等于['spam','eggs']。
·字典编码为一个'd'开头后面跟一个交替关键值(key)及其对应值的列表最后加一个'e'。
如:d3:cow3:moo4:spam4:eggse相当于{'cow':'moo','spam':'eggs'}
d4:spaml1:a1:bee相当于{'spam':['a','b']}
关键值必须是处理过的字符串(用原始字符串编码的,而且不是数字字母混合编码的)。
元信息文件就是B编码的有以下关键值的字典:
announce(声明)
Tracker的URL。
info(信息)
此关键值对应一个字典包含以下描述的关键值:
关键值name对应一个字符串,代表默认的下载文件或存成目录的名字。它是纯粹建议性的。
关键值piecelength(块长)对应文件分割成的块的字节数。出于传输需要,文件被分割成大小相等的块,除了最后一块通常会小一些。块长一般来说是2的权值,大部分设块长为256K(2的18次幂)。
关键值pieces(块)对应一个字符串,此字符串长度是20的倍数。它可以再分成每20字节一段的多个字符串,分别对应块在索引中的SHA1校验码(hash)。
还有关键值length(长度)和files(文件),它们不能同时出现也不能都不出现。当length出现说明这个元信息文件只是单文件下载,否则说明是多文件的目录结构下载。
单文件情况下,length对应文件长度的字节数。
多文件情况被看作是把许多单文件按文件列表中的顺序连成一个大文件下载,而关键值files就对应文件列表,是一个字典的列表,其中每个字典又包含以下关键值:
length(长度)
文件长度的字节数。
path(路径)
一个包含字符串的列表,字符串就是子目录名,最后一项的字符串是文件名。
(一个长度为零的length表单是错误的。)
在单文件情况下,关键值name是文件名;多文件情况下,它就成了目录名。
Tracker质询是双向的。Tracker通过HTTPGET参数获得信息,然后返回一个B编码后的信息。尽管Tracker需要在服务器端执行,但它运行流畅像Apache的一个模块。
Tracker的GET请求有如下关键值:
info_hash
20字节长的SHA1验证码,来自B编码过的元信息文件中的info值下,是元信息文件的一个支链。这个值是自动转换的。
peer_id
一个20字节长的字符串,是每个用户开始下载时随机生成的ID。这个值也是是自动转换的。
ip
一个可选择的参数给出peer所在的IP(或DNS主机名),一般是和Tracker同机器的原始下载者得到后以便散发文件。
port
监听端口,官方默认的是从6881端口开始试,如果端口被占用则依次向后推一个端口找空闲端口,到6889端口为止。
uploaded
目前总上传量,编码为十进制ASCII码。
downloaded
目前总下载量,编码为十进制ASCII码。
left
未下载的字节数,编码为十进制ASCII码。这个数不是通过文件长度和已下载数算出来的,因为文件可能在被续传,还有一些已经下载的数据不能通过完整性检查必须重新下载。
event
这是个选择性的关键值,选项有started,completed或stopped(或empty,等同于没有运行)。如果没有运行,这个声明会定期间隔一定时间发出。开始下载时发出started值,完成下载时发出completed。当文件完整后再开始,没有completed发出,下载者中止下载时发出stopped。
Tracker的回应也是B编码字典。如果Tracker回应中有关键值failurereason(失败原因),就会对应一个人可以读懂的字符串信息解释质询失败的原因,不需要其它关键值。否则,回应必须有两个关键值:interval(间隔)对应下载者定期发出请求的间隔秒数;peers,peers对应一个与peers相通信的字典列表,peers,peer自选ID,IP地址或DNS主机名的字符串和端口号之一。记住,假如下载者发生一个事件或者想要更多的peers,他们不会完全按照计划的间隔发送请求。
如果你想对元信息文件或者Tracker质询进行扩展,请与BramCohen进行协调,确保所有扩展都兼容。
BitTorrentpeer协议通过TCP协议进行操作。它不用调节任何socket选项就可以流畅运行。
peer之间的连接是对称的。两个方向送出的信息要协调一致,数据可以流入任一方。
peer协议是按照元信息文件所描述的索引的文件块,以零开始。当一个peer完
好了,文章到此结束,希望可以帮助到大家。