Victor_VG
Tracker Mod | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору naos1515 У каждого трекера своя система регистрации, это раз, да и тот факт что размер файлов совпадёт не гарантирует нам что они внутри одинаковые. А если (это настройка есть к примеру в qBittorrent) у одного пользователя включено "Резервировать место для файлов на диске" и он отключил опцию "Добавлять к незавершённым файлам расширение .~qt", а у второго лежит реальный файл, то размер и имя у них будет одинаковы, а начинка пока первый (у него в нулевой момент времени в файле мусор) не получит все данные разная. И если вы как независимый наблюдатель будете видеть только одну их характеристику - размер, то сказать одинаковы файлы или нет не сможете т.к. вам не хватит для этого ключевой информации - результатов их сравнения. Вот роль инструмента для сравнения и выполняет контрольная сумма, она же хеш - клиент её получает от сидера когда тот начинает передачу очередного блока данных и принимает за эталон, а после получения каждого блока данных пересчитывает его хэш и сравнивает с эталонном. Пересылка хэша (несколько байт) по сравнению с блоком данных (десятки килобайт) почти не влияет на общую скорость обмена данными, хотя и занимает некоторый квант времени. И именно так клиент и видит всё он получил целым или нет, а поскольку блоки физически не велики, то и хэш для них считается быстро, и коли блок цел, то мы пишем на его место в файле. Повреждённые блоки будут переданы повторно до тех пор, пока не придут без ошибок. Ну а те блоки которых у нас нет будут в списке на получение, и когда мы его исчерпаем если все блоки пришли целыми то всё, данные получены, проверяем что всё своих местах и рапортуем.
---------- Жив курилка! (Р. Ролан, "Кола Брюньон") Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti |
| Всего записей: 33134 | Зарегистр. 31-07-2002 | Отправлено: 05:14 07-04-2015 | Исправлено: Victor_VG, 05:16 07-04-2015 |
|