Як це зроблено завантажити файл за допомогою bits
Продовження серіалу. Сьогодні поговоримо про технології BITS (Background Intelligent Transfer Service) від компанії Microsoft. Почитати про BITS можна тут. а коротко - це те, за допомогою чого працює Windows Update. Цей компонент дозволяє в асинхронному режимі завантажувати файли, завантажувати файли на сервер, а також комбінація перших двох - тобто працювати за моделлю upload-reply. Ми ж будемо використовувати BITS в своїх цілях - для скачування файлу.
Далі для програмістів.
Для початку скачайте bitsadmin - ця корисна програма допоможе Вам розібратися з виниклими помилками і продіагностувати роботу нашої програми. Завантажити документацію по bitsadmin можна тут а саму програму - тут.
Cкачать вихідні можна тут. rapidshare.com
Робота з BITS ведеться через інтерфейси COM, так що необхідно мінімальне розуміння процесу. Отже в модулі bits.pas знаходяться імпортовані і трохи підправлені інтерфейси bits 1.0 і bits 1.5. Також в цьому модулі є процедура створення примірників об'єкта BITS manager
Далі в основному файлі ми працюємо вже із створенням об'єктів так
Як ви бачите код досить компактний і простий. При наявності знань asm - можна все це впихнути в 1 кб. Як говориться поза конкуренцією, крім того робота через BITS гарантує безпроблемну роботу з Фаєрвол Віндовс і антивірусами. Гей я не закликаю писати віруси :)))
P.S. Програма за замовчуванням викачує GoogleGears - вельми перспективна технологія. Так ось установка GoogleGears - являє собою подібний до нашого downloader з використанням Bits! Відчуйте себе трохи Google. )))