Приостановить загрузку и возобновить (объединить существующий файл)

Я делаю загрузчик с помощью С#, я хочу добавить функцию паузы и возобновления загрузки, я погуглил и реализовал предложения, но у меня это не сработало; возобновлялся с правильной позиции, но возникли проблемы со слиянием с загруженной частью. Я протестировал его, загрузив видеофайл, но после приостановки загрузки и повторного запуска файл результата воспроизводился некоторое время (он воспроизводил часть, загруженную до приостановки, но не часть после приостановки).

Как я могу успешно объединить 2 части.


person KhanZeeshan    schedule 15.10.2010    source источник
comment
хрустальные шары наготове.... возможно, вам следует опубликовать код...   -  person Mitch Wheat    schedule 15.10.2010
comment
Бьюсь об заклад, это может быть смещение или несоответствие индекса при работе с потоками.   -  person Larry    schedule 15.10.2010
comment
я последовал предложению, данному здесь; geekpedia.com/   -  person KhanZeeshan    schedule 15.10.2010
comment
единственная разница в том, что я использовал WebCLient для загрузки после получения ответа.   -  person KhanZeeshan    schedule 15.10.2010
comment
@ Митч, я использую этот подход, можете ли вы предложить другой способ. вы можете посмотреть на этот код для справки.   -  person KhanZeeshan    schedule 15.10.2010
comment
@KhanZeeshan: вы должны опубликовать (урезанный) здесь ....   -  person Mitch Wheat    schedule 15.10.2010


Ответы (1)


Мы не можем понять, что не так с вашим кодом, потому что мы не можем видеть ваш код (не всегда достаточно выложить исходник, на основе которого вы сделали свой собственный код).

В любом случае, вы можете попробовать следующее: создайте файл с каким-нибудь легко узнаваемым битовым шаблоном (например, 0101010101010101...), используя какой-нибудь шестнадцатеричный редактор, и попытайтесь увидеть, где он ломается. Если, например, вторая часть загрузки продолжает работать над несколькими последними битами первой части, это даст вам некоторую подсказку.

person Neowizard    schedule 16.10.2010
comment
@Newwizard спасибо, чувак, но я понял проблему, которую я использовал WebClient неправильно, моя загрузка всегда начиналась с самого начала, и это вызывало проблему при слиянии, теперь я удалил WebClient и использовал WebResponse.GetResponseStream(), который устранил мою проблему. спасибо всем за помощь. - person KhanZeeshan; 17.10.2010