Background Intelligent Transfer Service

Вы все еще не знаете, как лучше организовать передачу файлов по сети на компьютеры под управлением Windows? Тогда вам сюда!

Background Intelligent Transfer Service (BITS) – служба ОС Windows, которая может передавать файлы в фоновом режиме. Она используется, в основном, для Windows Update.

Какой же интерес BITS представляет для разработчиков?

1. Возможность закачки файлов в фоновом режиме, незаметно для пользователя
2. Высокий уровень отказоустойчивости. Если сетевой кабель перерубят, или комп выпадет в «синий экран», то BITS докачает файлы, как только это станет возможно.
3. Intelligent сказано не зря. Если пользователь в данный момент ничего не качает и комп простаивает, BITS воспользуется освободившимися ресурсами. Эту фичу можно использовать, назначая различные приоритеты закачек.


Работать с BITS можно через специальный API

В своем проекте я использовал удобную, вполне рабочую «обертку» для .NET. Так же существует еще одна.

Ключевым объектом BITS является Job (не надо дословного перевода, назовем это «закачкой»).
Жизненный цикл «закачки» следующий:

1. Создание Job. Указываем название, описание, тип (Upload\Download) и приоритет

2. Добавление файлов. Job может содержать несколько файлов, если выбран тип Download.

3. Подписываемся на события закачки, если необходимо отслеживать прогресс в реальном времени.

4. Запуск закачки. Далее BITS все делает сам.

Важной особенностью BITS является то, что создать закачку может только пользователь, совершивший вход в систему, либо системная учетная запись. Тем, кто собирается использовать BITS, советую не забывать об этом.

Я сознательно не привожу примеров кода, они есть здесь и здесь.

Для дополнительного ознакомления есть замечательная статья на английском.
  • +20
  • 3,6k
  • 8
Поделиться публикацией
Никаких подозрительных скриптов, только релевантные баннеры. Не релевантные? Пиши на: adv@tmtm.ru с темой «Полундра»

Зачем оно вам?
Реклама
Комментарии 8
  • +3
    Остается добавить, что BITS 4.0 включен в дистрибутивы Windows 7 и Windows Server 2008 R2.

    А так же BITS 4.0 можно скачать для Windows Server 2008 with Service Pack 2 (SP2), Windows Vista with Service Pack 1 (SP1), и Windows Vista with Service Pack 2 (SP2).

    З.Ы. было бы не плохо поправить ссылку на замечательную статью на английском
    • 0
      Поправил ссылку
    • 0
      Главный минус BITS в том, что его уже как пару лет активно используют вирусы/трояны/лоадеры для скрытого получения/передачи данных в обход фаеров. И именно по этому в настоящее время COM объект BITS'а под присмотром антивирусов и прочих проактивок. И именно по этому большинство антивирусов будут ругаться на данный метод сильнее чем на простую сетевую активность.
      • 0
        Не раз BITS выручал, особенно это касается работы в федеральных сетях, где до сих пор связь зависит от множества факторов.
        • 0
          После установки Windows первым делом отключаю BITS. Я должен контролировать трафик.
          • +2
            Кому должны-то?
            • 0
              Я давно не отключаю (в Вин2000 отключал, опасался).
              Минусов от отключения больше, чем плюсов.
              • +2
                Рекомендую вторым делом отключать сетевой интерфейс, а третьим — кабель питания. Таким образом может быть достигнута максимальная степень контроля.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.