“强制重新检查”如何工作?

hkBattousai

我已经使用uTorrent很久了。我已经使用了无数次“强制重新检查”功能。每次让我感到惊讶的是,uTorrent如何成功检测到文件的哪些部分已下载以及哪些部分尚未下载。即使您没有连接到互联网,它也会检查它们。因此,我认为它不会从Internet下载任何数据来执行此检查。

您能否解释一下此“强制重新检查”功能的工作原理。我认为.torrent文件中会保留每个哈希的哈希值;但我不确定,这只是一个猜测。我在Google中用关键字“ torrent文件格式”搜索了.torrent文件的文件格式,但是它返回了许多torrent搜索结果。因此,这次Google不是我的朋友。请给我解释一下。

游侠怪胎

据我了解,种子文件包含要下载的文件的哈希值。它只是对照清单检查您认为拥有的每个散列。就像下载torrent一样,任何不匹配的片段都将被丢弃。

更详细地说,根据bitorrent规范,您可以下载文件“件长”和“件”。片段长度是每个片段的大小,片段只是每个片段的sha1和,附加到前一个片段上以形成一个长字符串。

为简化起见,假设您已预先分配了文件,并且基本上有一个与源文件长度相等的大“填充”文件。首先,基于片段长度,程序获取文件的前n位,并进行SHA1和。然后,它将文件的SHA1和与“件”的相应部分进行比较。如果他们匹配,我们很好。否则,其标记为“不好”并被丢弃。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在每次访问后强制iOS TouchID重新授权,或检查它是否已解锁?

来自分类Dev

aSmack,如何强制重新连接?

来自分类Dev

如何强制重新加载页面

来自分类Dev

如何强制Slack重新连接?

来自分类Dev

如何强制重新排序jsTree?

来自分类Dev

JS类型强制如何工作?

来自分类Dev

强制重新检查utorrent中文件的可用性

来自分类Dev

如何强制重新加载/刷新组件视图?

来自分类Dev

如何强制刷新/重新绘制JScrollPane?

来自分类Dev

如何强制Meteor重新加载订阅?

来自分类Dev

如何强制OpenCL不重新对齐结构?

来自分类Dev

如何强制#vuetify #treeview节点重新加载?

来自分类Dev

如何强制重新缓存更新的网页

来自分类Dev

如何强制Word重新计算图像编号?

来自分类Dev

如何强制OS重新加载fstab?

来自分类Dev

如何强制 JSF 重新发送请求?

来自分类Dev

如何强制视图重新计算其尺寸

来自分类Dev

如何强制 React 组件重新渲染?

来自分类Dev

变异后如何强制App重新渲染?

来自分类Dev

使用setState强制组件重新呈现未按预期方式工作

来自分类Dev

重新编译如何工作

来自分类Dev

如何强制Haskell检查列表长度?

来自分类Dev

如何强制Windows Server 2016检查更新

来自分类常见问题

Under Java Type强制转换如何工作?

来自分类Dev

强制转换和泛型如何工作?

来自分类Dev

工作程序节点上的calico-policy-container处于重新启动循环中。我如何检查为什么?

来自分类Dev

在检查 NOT CHECKED 之后,如何强制 Jquery 最后检查 CHECKED 框?

来自分类Dev

检查串行设备是否正常工作,否则重新启动

来自分类Dev

jQuery加载后如何重新检查dom?

Related 相关文章

热门标签

归档