powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм докачки файлов
25 сообщений из 25, страница 1 из 1
Алгоритм докачки файлов
    #37945605
Докачка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Подскажите, как это в общем случае делается?
Как программа (некоторые браузеры, например) узнаёт, в каком месте прервалось скачивание, и при след соединении продолжает с того же места?
Спасибо
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945642
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, качаем блоками некоторого размера... Для каждого блока считаем контрольную сумму... Если хост-сервер "поддерживает докачку" - можно запросить у сервера контрольные суммы блоков... На основании ответов - делаем выводы, какие блоки ещё нужно докачивать/перезакачивать...
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945663
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMможно запросить у сервера контрольные суммы блоков...Насколько я в курсе, в HTTP нет такой возможности.
Я встречал два варианта:
1) Файл качается строго последовательно. Докачивается с того места, до какого вырос размер файла.
2) В отдельном файле сохраняется информация о закачанных фрагментах.

Если речь идет о других протоколах, то сперва нужно их конкретизировать.
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945666
Докачка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>контрольную сумму блока

Понял. Спасибо
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945677
Докачка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft Докачивается с того места, до какого вырос размер файла
То есть, строго до бита?
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945695
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Докачкаmiksoft Докачивается с того места, до какого вырос размер файлаТо есть, строго до бита?Строго по границе байта.

miksoft, всё равно же придется запрашивать у сервера "закачку с определенного байта". Поэтому и "контрольные суммы блоков" просто расширяют возможности даунлоадера...
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945706
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM miksoft, всё равно же придется запрашивать у сервера "закачку с определенного байта". Поэтому и "контрольные суммы блоков" просто расширяют возможности даунлоадера...Не вижу, как из первого предложения вытекает второе. Запрос фрагмента файла в HTTP есть, запроса контрольной суммы (файла или блока, неважно) в HTTP нет, имхо.
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945718
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft, да согласен я, согласен
А "расширенные возможности" - как раз имелись по поводу:
1) "2) В отдельном файле на клиенте сохраняется информация о закачанных фрагментах."
2) на хостинге имеется функционал, позволяющий производить сравнение фрагментов файлов с помощью контрольных сумм
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945720
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,
Надо использовать поле заголока запроса Range-Bytes.
Можно скачать ReGet (www.reget.com), там в логах все должно быть хорошо видно
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945729
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Докачка,
Кстати, а зачем вам? Может можно заменить какой-нибудь библитекой? Например, curl.
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945763
Докачка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vromanov,

хотел выдумать что-то типа стека (VBA), но не процедур, а внутри одной процедуры: чтобы после сбоя она стартовала с невыполнившегося оператора.
Первая аналогия, пришедшая в голову, - докачка.
(Но всё это ещё где-то очень в тумане...)
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945830
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vromanovReGetЭто... кхм... поделие в начале 2000х запороло мне реестр, и, соответственно, систему (причём не 98, а XP), так что я бы не советовал этим пользоваться..

Докачка, а контролировать ("докачивать") работу команд, реализующих стек, чкто будет? Сверхстек? :)
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945860
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirvromanovReGetЭто... кхм... поделие в начале 2000х запороло мне реестр, и, соответственно, систему (причём не 98, а XP), так что я бы не советовал этим пользоваться..

С трудом понимаю, как приложение использующее стандартный API может запороть реестр. Ну и приложением пользовалось миллионы пользователей - проблем таких не было.
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945901
Докачка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir а контролировать ("докачивать") работу команд, реализующих стек, чкто будет? Сверхстек? :)
Не знаю :-)
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37945981
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftНасколько я в курсе, в HTTP нет такой возможности.Есть. Среди прочих заголовков сервер может отправлять хэши. Делаем HEAD и смотрим.
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37946113
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovmiksoftНасколько я в курсе, в HTTP нет такой возможности.Есть. Среди прочих заголовков сервер может отправлять хэши. Делаем HEAD и смотрим.Порылся в стандартах, действительно, существует поле Content-MD5. Сервер может выдать это поле в ответе. А вот как его заставить это сделать - не нашел.

Да и вряд ли это кто-то применяет на практике. Для мелких объектов оно просто не нужно, а для крупных - приведет к увеличению количества дисковых операций при отдаче файлов, что не есть хорошо.
По крайней мере, в логах разных прокси и http-серверов я такого никогда не видел.
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37946180
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vromanovС трудом понимаю, как приложение использующее стандартный API может запороть реестр.Я тоже, но факт есть факт.
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37946981
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftДа и вряд ли это кто-то применяет на практике.На практике применяют условные запросы.
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37947013
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovусловные запросы.Что это такое в терминах HTTP?
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37947026
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftЧто это такое в терминах HTTP?
Код: sql
1.
2.
3.
4.
5.
...
Если-не-менялось-после: ...
...
Диапазон(ы): ...
...



P.S. Могли бы и сами (ещё раз заглянуть в стандарт) - там всё понятно.
ETag, опять же ...
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37947035
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovmiksoftЧто это такое в терминах HTTP?
Код: sql
1.
2.
3.
4.
5.
...
Если-не-менялось-после: ...
...
Диапазон(ы): ...
...




P.S. Могли бы и сами (ещё раз заглянуть в стандарт) - там всё понятно.
ETag, опять же ...Про это я в курсе. Просто подумал, что оно как-то связано с сабжем.
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37947121
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftПро это я в курсе. Просто подумал, что оно как-то связано с сабжем.Целиком и полностью.
Запрашиваем диапазон, которого (у нас) ещё нет и подстраховываемся условием от возможного изменения файла (на сервере).
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37947142
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovЗапрашиваем диапазон, которого (у нас) ещё нетТак сабж и заключается в первую очередь в определении этих диапазов. Дальнейшее уже дело техники.ДокачкаКак программа (некоторые браузеры, например) узнаёт, в каком месте прервалось скачивание, и при след соединении продолжает с того же места?
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37947314
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftТак сабж и заключается в первую очередь в определении этих диапазов."Отсюда и до упора" - есть.
"Здесь играем, здесь не играем, здесь рыбу заворачивали" - тоже есть.
...
Рейтинг: 0 / 0
Алгоритм докачки файлов
    #37947364
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

Если вы хотите только докачивать, то шлете запрос Renge-Bytes: nnnnn-
где nnnnn количество ранее скаченных байтов. Получили в ответ код 206 - докачка работает. Получили 200 - не работает. Облмитесь..
Если хотите реализовать многопоточное скачивание - храните массив скаченных кусков либо за концом файла, либо в отельном файле. Зачем при этом MD5 и ETag не очень понимаю. Достаточно анализировать дату модификации файла
Аналогичные подходы можно использовать и для FTP.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм докачки файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]