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

start [/forum/topic.php?fid=16&msg=37947026&tid=1342142]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 382ms |

| 0 / 0 |
