首页 > 解决方案 > Torrent 客户端如何确保对文件所做的更改不会影响文件传输?

问题描述

假设有两个对等点 A 和 B。简单来说,当 A 向 B 请求文件时,B 上的 torrent 客户端如何确保用户对文件所做的更改不会影响文件传输?它是在开始向接收方发送块之前将文件复制到临时文件夹,还是需要某种操作系统级别的写锁定并保留它直到传输完成?

标签: p2pbittorrenttorrent

解决方案


文件在创建时进行哈希处理,哈希存储在 torrent 文件中。在下载时检查哈希值。

您可以在核心bittorrent 协议规范中找到更多详细信息。

当检测到哈希不匹配时会发生什么取决于实现。常见的方法是尝试从不同的对等点下载失败的片段并向用户报告散列失败统计信息。发送方也可以选择检查自己的数据并将其报告给用户,但规范的主要目的是让接收方验证数据,因为它无论如何都不能信任发送方。


推荐阅读