|
|
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Подскажите, как это в общем случае делается? Как программа (некоторые браузеры, например) узнаёт, в каком месте прервалось скачивание, и при след соединении продолжает с того же места? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2012, 22:12 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
Например, качаем блоками некоторого размера... Для каждого блока считаем контрольную сумму... Если хост-сервер "поддерживает докачку" - можно запросить у сервера контрольные суммы блоков... На основании ответов - делаем выводы, какие блоки ещё нужно докачивать/перезакачивать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2012, 23:04 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
AndreTMможно запросить у сервера контрольные суммы блоков...Насколько я в курсе, в HTTP нет такой возможности. Я встречал два варианта: 1) Файл качается строго последовательно. Докачивается с того места, до какого вырос размер файла. 2) В отдельном файле сохраняется информация о закачанных фрагментах. Если речь идет о других протоколах, то сперва нужно их конкретизировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2012, 23:24 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
>контрольную сумму блока Понял. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2012, 23:25 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
miksoft Докачивается с того места, до какого вырос размер файла То есть, строго до бита? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2012, 23:31 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
Докачкаmiksoft Докачивается с того места, до какого вырос размер файлаТо есть, строго до бита?Строго по границе байта. miksoft, всё равно же придется запрашивать у сервера "закачку с определенного байта". Поэтому и "контрольные суммы блоков" просто расширяют возможности даунлоадера... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2012, 23:42 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
AndreTM miksoft, всё равно же придется запрашивать у сервера "закачку с определенного байта". Поэтому и "контрольные суммы блоков" просто расширяют возможности даунлоадера...Не вижу, как из первого предложения вытекает второе. Запрос фрагмента файла в HTTP есть, запроса контрольной суммы (файла или блока, неважно) в HTTP нет, имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2012, 23:52 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
miksoft, да согласен я, согласен А "расширенные возможности" - как раз имелись по поводу: 1) "2) В отдельном файле на клиенте сохраняется информация о закачанных фрагментах." 2) на хостинге имеется функционал, позволяющий производить сравнение фрагментов файлов с помощью контрольных сумм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 00:01 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
miksoft, Надо использовать поле заголока запроса Range-Bytes. Можно скачать ReGet (www.reget.com), там в логах все должно быть хорошо видно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 00:01 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
Докачка, Кстати, а зачем вам? Может можно заменить какой-нибудь библитекой? Например, curl. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 00:10 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
vromanov, хотел выдумать что-то типа стека (VBA), но не процедур, а внутри одной процедуры: чтобы после сбоя она стартовала с невыполнившегося оператора. Первая аналогия, пришедшая в голову, - докачка. (Но всё это ещё где-то очень в тумане...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 00:49 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
vromanovReGetЭто... кхм... поделие в начале 2000х запороло мне реестр, и, соответственно, систему (причём не 98, а XP), так что я бы не советовал этим пользоваться.. Докачка, а контролировать ("докачивать") работу команд, реализующих стек, чкто будет? Сверхстек? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 06:39 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
tanglirvromanovReGetЭто... кхм... поделие в начале 2000х запороло мне реестр, и, соответственно, систему (причём не 98, а XP), так что я бы не советовал этим пользоваться.. С трудом понимаю, как приложение использующее стандартный API может запороть реестр. Ну и приложением пользовалось миллионы пользователей - проблем таких не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 07:56 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
tanglir а контролировать ("докачивать") работу команд, реализующих стек, чкто будет? Сверхстек? :) Не знаю :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 08:57 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
miksoftНасколько я в курсе, в HTTP нет такой возможности.Есть. Среди прочих заголовков сервер может отправлять хэши. Делаем HEAD и смотрим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 09:57 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovmiksoftНасколько я в курсе, в HTTP нет такой возможности.Есть. Среди прочих заголовков сервер может отправлять хэши. Делаем HEAD и смотрим.Порылся в стандартах, действительно, существует поле Content-MD5. Сервер может выдать это поле в ответе. А вот как его заставить это сделать - не нашел. Да и вряд ли это кто-то применяет на практике. Для мелких объектов оно просто не нужно, а для крупных - приведет к увеличению количества дисковых операций при отдаче файлов, что не есть хорошо. По крайней мере, в логах разных прокси и http-серверов я такого никогда не видел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 11:03 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
vromanovС трудом понимаю, как приложение использующее стандартный API может запороть реестр.Я тоже, но факт есть факт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 11:24 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
miksoftДа и вряд ли это кто-то применяет на практике.На практике применяют условные запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 16:41 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovусловные запросы.Что это такое в терминах HTTP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 16:51 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
miksoftЧто это такое в терминах HTTP? Код: sql 1. 2. 3. 4. 5. P.S. Могли бы и сами (ещё раз заглянуть в стандарт) - там всё понятно. ETag, опять же ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 17:00 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovmiksoftЧто это такое в терминах HTTP? Код: sql 1. 2. 3. 4. 5. P.S. Могли бы и сами (ещё раз заглянуть в стандарт) - там всё понятно. ETag, опять же ...Про это я в курсе. Просто подумал, что оно как-то связано с сабжем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 17:05 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
miksoftПро это я в курсе. Просто подумал, что оно как-то связано с сабжем.Целиком и полностью. Запрашиваем диапазон, которого (у нас) ещё нет и подстраховываемся условием от возможного изменения файла (на сервере). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 17:45 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЗапрашиваем диапазон, которого (у нас) ещё нетТак сабж и заключается в первую очередь в определении этих диапазов. Дальнейшее уже дело техники.ДокачкаКак программа (некоторые браузеры, например) узнаёт, в каком месте прервалось скачивание, и при след соединении продолжает с того же места? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 17:54 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
miksoftТак сабж и заключается в первую очередь в определении этих диапазов."Отсюда и до упора" - есть. "Здесь играем, здесь не играем, здесь рыбу заворачивали" - тоже есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 19:55 |
|
||
|
Алгоритм докачки файлов
|
|||
|---|---|---|---|
|
#18+
miksoft, Если вы хотите только докачивать, то шлете запрос Renge-Bytes: nnnnn- где nnnnn количество ранее скаченных байтов. Получили в ответ код 206 - докачка работает. Получили 200 - не работает. Облмитесь.. Если хотите реализовать многопоточное скачивание - храните массив скаченных кусков либо за концом файла, либо в отельном файле. Зачем при этом MD5 и ETag не очень понимаю. Достаточно анализировать дату модификации файла Аналогичные подходы можно использовать и для FTP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2012, 21:07 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=65&tid=1342142]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 280ms |

| 0 / 0 |
