Есть идея:
Сделать коммуникации между UI и непосредственно качающими потоками через сокеты или любое приемлимое средство IPC (например named pipes) - таким образом можно будет разделить интерфейс и worker threads. А имея такую архитектуру можно будет размещать качающие потоки где угодно. Таким образом можно будет качать один файл несколькими экземплярами программы одновременно (у каждой могут быть свои настройки прокси и т.д.), или вообще качать один файл с нескольких компьютеров одновременно.
Т.е. на одном компе будет запущена программа с UI, которая будет выступать в роли координатора - будет отдавать команды какому потоку и что именно качать. А потоки (находящиеся в других процессах) будут непосредственно качать и отдавать центральной части статистику.
Запись в файл можно сделать либо общедоступной, либо по тем же каналам связи передавать закачанные данные от качающих потоков основной программе.
Распределенные закачки
Moderators: Korney San, Qwertiy, marcipan, igelizm
Дык просто надо в ДМ функцию типа "качать с зеркал одновременно" или "включить зеркала в текущую закачку" или еще как. Не суть. Важно что это должно делать.
Можно причем уже готовый механизм доработать.Идея в том, что уже с давних времен ДМ умеет бить файл на части. Дак а в чем проблема попробовать скачать эти части с разных серверов? При этом можно учесть скорость скачивания с данного сервера(чтобы секции давались по силам). При этом хочется чтобы эти закачки могли учитывать поддержку сервера на разбиение и докачку. Но это уже мелочи))
Все зеркала, которые есть в списке будут задействованы. Это именно в самом ДМ надо реализовать. И тогда торрены уйдут в прошлое. Было бы неплохо.
Можно причем уже готовый механизм доработать.Идея в том, что уже с давних времен ДМ умеет бить файл на части. Дак а в чем проблема попробовать скачать эти части с разных серверов? При этом можно учесть скорость скачивания с данного сервера(чтобы секции давались по силам). При этом хочется чтобы эти закачки могли учитывать поддержку сервера на разбиение и докачку. Но это уже мелочи))
Все зеркала, которые есть в списке будут задействованы. Это именно в самом ДМ надо реализовать. И тогда торрены уйдут в прошлое. Было бы неплохо.
Если отладка - процесс удаления ошибок, то программирование должно быть
процессом их внесения. (Эдсгер Дейкстра)
процессом их внесения. (Эдсгер Дейкстра)