|
| |
|
Intranet Downloader - NItra
Введение
|
      
Предположим ваш компьютер входит в состав некоторой одноранговой сети (домашная сеть, сеть общажития и т.п.), то есть такой, в которой все коипьютеры
равноправны и нет отдельный выделенных ресурсов типа файловых или каких-либо других серверов. Такие файлообменные сети как правило обладают
одним существенным недостатком: каждый пользователь может отключиться в любое время, отключить вас от своих ресурсов и как следсвие,
прерванный на самом интересном месте фильм оставит самый неприятный осадок в настроении.
     
У данной проблемы есть два решения: либо выделять отдельный сервер на котором будут храниться фильмы, либо пользоваться дополнительными
программами (закачивалками типа ReGet, FlashGet и т.п.), поскольку разработчики Windows не встроили возможность докачки файлов в операционную систему.
Однако, существующие программы заточены для закачки из Internet, обладают богатыми настройками, которые в локальной сети не имеют никакого
значения и перегружают интерфейс пользователя.
|
Описание
|
     
Данная программа решает все проблемы с докачкой больших файлов в локальной сети, обладает очень простым и симпатичным интерфейсом. Ниже перечислены ее основные возможности:
| Автоматическое продолжение закачки в случае обрыва соединения |
| Параллельная закачка нескольких файлов (до 60) |
| Добавление файлов в список при закачке |
| Закачка файлов в каталог по умолчанию |
| Сохранение списка закачиваемых файлов |
| Интеграция с Windows Explorer |
| Добавление файлов в список из командной строки |
|
Архитектура решения
|
Список закачиваемых файлов сохраняется в xml-файле nitra.info. Выделено самостоятельное ядро закачки, для которого можно написать
свой собственный интерфейс.
Физически решение представлено 3-мя компонентами: собственно самой программой закачки, расширением Explorer-а для вставки дополнительных
пунктов меню, а также "пусковиком" - COM-компонентом, при помощи которого можно, например, запускать закачку фильма из Internet Explorer-а, если
в вашей сети предусмотрено представление списка фильмов на некотором сайте.
Пример скрипта для добавления фильма в список закачки с HTML-страницы фильмового сервера:
function on_download(what)
{
try {
var starter = new ActiveXObject('Intradownloader.Starter');
starter.startDownload("\"" + what + "\"");
}
catch(e)
{
alert('Данная операция станет доступной только после установки\n' +
'Intranet Downloader [NItra].\n\n' +
'Место расположения: ...');
}
return false;
}
|
Исходные коды
|
     
Программа распространяется в исходных кодах, где можно посмотреть примеры использования overlapped-операций (асинхронных чтения файлов, многопоточности, некоторых интерфейсных решений (прилипание главного окна к границам рабочего стола, диалог с настройками, добавление
иконки в панель задач (с восстановлением в случае падения/закрытия Explorer), добавление панели инструментов на диалог и т.п.), добавление пунктов
меню в контекстное меню Explorer.
|
|
|
|