我已经使用uTorrent很久了。我已经使用了无数次“强制重新检查”功能。每次让我感到惊讶的是,uTorrent如何成功检测到文件的哪些部分已下载以及哪些部分尚未下载。即使您没有连接到互联网,它也会检查它们。因此,我认为它不会从Internet下载任何数据来执行此检查。
您能否解释一下此“强制重新检查”功能的工作原理。我认为.torrent文件中会保留每个哈希的哈希值;但我不确定,这只是一个猜测。我在Google中用关键字“ torrent文件格式”搜索了.torrent文件的文件格式,但是它返回了许多torrent搜索结果。因此,这次Google不是我的朋友。请给我解释一下。
据我了解,种子文件包含要下载的文件的哈希值。它只是对照清单检查您认为拥有的每个散列。就像下载torrent一样,任何不匹配的片段都将被丢弃。
更详细地说,根据bitorrent规范,您可以下载文件“件长”和“件”。片段长度是每个片段的大小,片段只是每个片段的sha1和,附加到前一个片段上以形成一个长字符串。
为简化起见,假设您已预先分配了文件,并且基本上有一个与源文件长度相等的大“填充”文件。首先,基于片段长度,程序获取文件的前n位,并进行SHA1和。然后,它将文件的SHA1和与“件”的相应部分进行比较。如果他们匹配,我们很好。否则,其标记为“不好”并被丢弃。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句