![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как можно реализовать многосекционную закачку файла по http?
Usov © (2009-01-27 17:24:00)Как можно реализовать многосекционную закачку файла по http протоколу?
Дмитрий Белькевич (2009-10-29 18:12:00) [1]>Может как то пробежаться по файлу и определить где в файле есть данные а где нет, ведь писать то каждую секцию буду в определенное место?
1. Создавать файл в каком-то своём формате, после полного приёма пересобирать файл.
2. Создавать дополнительный файл с указанием что скачалось или что не скачалось.
3. Запоминать данные о закачках в базе данных.
4. Запоминать данные о закачках в реестре.
Выбирай.
Usov (2009-10-28 18:03:00) [2]тема актуальна еще, просто руки никак не доходят заняться реализацией.
sniknik (2009-10-26 21:47:00) [3]> ты на дату сабжа смотрел? ;)
а ты смотрел на дату поста на который у меня ответ?
brother (2009-10-26 09:33:00) [4]> sniknik © (26.10.09 01:19)
ты на дату сабжа смотрел? ;)
sniknik (2009-10-26 01:19:00) [5]> Господа знатоки ICS
нфига быть знатоком, нужно просто читать внмательней
> Реализация на ICS не интересует так как там это уже все есть компонент TMultipartHttpDownloader
или дело принципа? ну так посмотри в исходники.
leonidus (2009-10-25 21:44:00) [6]Удалено модератором
Примечание: СПАМ
FireMan_Alexey (2009-02-11 21:42:00) [7]Сделай Head, получи размер, зарезервируй место на диске и вперед :)
А информацию можеш хранить вконце файла.
А если даже и двигать, то информацию можно достать размер файла - размер блока параметров секций.
Usov (2009-02-11 18:02:00) [8]
> > Только если сорвется на последних байтах закачка - хана
> > всему файлу.
>
>
> В смысле?
> Докачаеш :)
> Ты же для этого и секции вводиш.
>
Всмысле если хранить инфу о секциях в конце файла.
FireMan_Alexey (2009-02-11 00:35:00) [9]
> Только если сорвется на последних байтах закачка - хана
> всему файлу.
В смысле?
Докачаеш :)
Ты же для этого и секции вводиш.
Usov (2009-02-10 15:26:00) [10]
> Хм, ну тоже прикольно придумано. Потом подрубить файл -
> и все. Чистенько и "ничего лишнего".
Только если сорвется на последних байтах закачка - хана всему файлу.
KSergey (2009-02-10 11:55:00) [11]> Usov © (04.02.09 23:56) [38]
> Насколько я знаю, DM пишет инфу о секциях в конец того файла что закачивает.
Хм, ну тоже прикольно придумано. Потом подрубить файл - и все. Чистенько и "ничего лишнего".
FireMan_Alexey (2009-02-05 03:38:00) [12]Сейчас нет
А раньше был :), я по старой памяти :)
Usov (2009-02-04 23:56:00) [13]
> А у Download Master-a еще файл *.dfmr есть :)
Насколько я знаю, DM пишет инфу о секциях в конец того файла что закачивает.
Anatoly Podgoretsky (2009-02-04 16:19:00) [14]> Медвежонок Пятачок (04.02.2009 14:42:35) [35]
Так созранять надо эту информацию
FireMan_Alexey (2009-02-04 15:28:00) [15]А у Download Master-a еще файл *.dfmr есть :)
Медвежонок Пятачок (2009-02-04 14:42:00) [16]Это ясно, а как определить после аварийной перезагрузки программы сколько секций было в закачке и сколько закачано в каждой сессии? Получается надо где-то хранить отдельно информацию о количестве и начале и объеме каждой секции.
ну ты догада.
Anatoly Podgoretsky (2009-02-04 14:40:00) [17]> Usov (04.02.2009 14:20:33) [33]
Получается так
Usov (2009-02-04 14:20:00) [18]
> А когда закачка разрывается, в стриме есть позиция откуда
> качать дальше называется TMemoryStream.SIZE :)
Это ясно, а как определить после аварийной перезагрузки программы сколько секций было в закачке и сколько закачано в каждой сессии? Получается надо где-то хранить отдельно информацию о количестве и начале и объеме каждой секции.
FireMan_Alexey (2009-02-03 14:34:00) [19]А когда закачка разрывается, в стриме есть позиция откуда качать дальше называется TMemoryStream.SIZE :)
FireMan_Alexey (2009-02-03 14:32:00) [20]Если компонент пишет в стрим у тебя есть размер записанного!!!
Создай 5 Мем стримов и призакачке проверяй на заполнение скажем по 128Кб и по заполнению кидай их на винт :)