![]() |
|
Модераторы: gambit |
![]()
|
|
| Gregorian |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 18.12.2006 Репутация: нет Всего: 2 |
Как скачать файл с возможностью докачки?
--------------------
Вступил на путь доморощенного жабиста дилетанта! |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: нет Всего: 31 |
думаю смысл довольно прост. Если в один поток - держи в памяти метку, сколько скачали. Коннект оборвался (если сервер поддерживает докачку) - начинай качать с метки ...
|
|||
|
||||
| Gregorian |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 18.12.2006 Репутация: нет Всего: 2 |
Это и козе понятно!
Я не знаю как начать закачку с заданной позиции в файле? Как осуществить это на http и ftp? Я не собираюсь писать для этих протоколов собственные библиотеки! --------------------
Вступил на путь доморощенного жабиста дилетанта! |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: нет Всего: 31 |
А нафига? Попробуй к примеру посмотреть специф. к апачу .. а мож по самому HTTP.
Как вариант мона посмотреть на примере софтины RegetDelux какие хедеры она отправляет для получения файла с определенной позиции |
|||
|
||||
| Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 1 Всего: 62 |
Давноненько задумывался на этой проблемой. По идее должна быть возможность позиционировать по сетевому потоку, но я такого не нашёл.
Есть альтернативная идея. В классе HttpWebRequets есть возможность добавить диапазон скачивания AddRange. Таким образом, файл можно разделить на секторы (кусочки). Состояние, закачан сектор или нет, можно сохранять в битовой карте. Для скорости сделать закачку многопоточной, чтобы одновременно запрашивались несколько секторов. Размер сектора выбирается как размер который не страшно потерять при обрыве. Хотя можно и для недокачанного сектора сохранять состояние. Написал тривиальный пример от балды, т.к. студии нет.
Добавлено @ 18:11 Вот ещё. Позиционировать по файлу, чтобы сохранять секторы, можно с помощью метода Seek класса FileStream. |
|||
|
||||
| Gregorian |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 18.12.2006 Репутация: нет Всего: 2 |
awers, не понял, что вы имеете в виду? Я об Апаче не имею представления и как хедеры посмотреть тоже не знаю.
Ch0bits, сложновато оказывается... Спасибо за идею! Другие предложения принимаются. --------------------
Вступил на путь доморощенного жабиста дилетанта! |
|||
|
||||
| Stepan_Lameroff |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 16.12.2006 Репутация: 1 Всего: 14 |
||||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Распределённые приложения и сеть | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |