Ни для кого не секрет, что во многих городах есть свои локальные сети.
Обмен в этих сетях чаще всего происходит по принципу Прямое соединение и через программы DC++, StrongDC++, FlyLinkDC++ и др.
Поиск файлов в этих программах происходит в режиме реального времени, т.е.
только для тех пользователей, которые в данный момент подключены к хабу.
Это означает, что такой поиск не является полным.
Плюс программы не показывают какие новые файлы появились в сети с момента моего последнего посещения хаба.
И это настоящая проблема — постоянно приходится запускать поиск по запросам «avi, mdf, pdf» и т. д., чтобы посмотреть, какие новые фильмы, игры, книги появились.
В общем, головная боль :).
Ниже под катом предлагаю простое решение этих проблем (так сказать, быстро и напрямую :) Давайте рассмотрим принцип работы одной из программ: FlyLinkDC++.
Чтобы посмотреть какие файлы есть у конкретного пользователя, мы его скачиваем список файлов .
Этот список не более чем обычный XML в архивном формате бз2 и это счастье копируется в папку «C:\Program Files\FlylinkDC++\Settings\FileLists\» (при условии, что программа была установлена с настройками по умолчанию).
Соответственно, при получении списков файлов от всех пользователей все они появляются в папке «FileLists».
А дальше дело техники: 1. Распакуйте файлы 2. Парсить XML в базу данных (поле TTH должно быть уникальным).
3. Используем.
Поскольку одно поле в базе данных уникально (поле TTH — это хеш файла), мы избегаем дублирования файлов в базе данных.
Зная время добавления данных в нашу базу данных, можно легко отследить появление новых файлов в сети.
Список файлов всегда доступен, даже если конкретный пользователь в данный момент отключен от хаба.
Это было написано моими неуклюжими руками.
программа (архив 4 МБ, исходник + exe), реализующий эти действия.
Все было сделано быстро.
В качестве основы мы использовали Visual Basic .
Net и SQLite.
Появление:
Сейчас нет времени доделывать программу, поэтому доведение ее до ума только приветствуется!
И не забудьте поделиться своими улучшениями :)
Теги: #идея #сеть #directconnect #Чулан
-
Митап «Devops На Подъеме» 18 Февраля
19 Oct, 24 -
Опрос: Что Для Вас Лучше?
19 Oct, 24 -
Оптимизация Производительности Netapp Fas
19 Oct, 24