Как стать автором
Обновить

Реализованная идея для сетей DirectConnect

Время на прочтение2 мин
Количество просмотров550
Не секрет, что во многих городах есть свои городские локальные сети. Обмен в этих сетях чаще всего происходит по принципу DirectConnect и через программы DC++, StrongDC++, FlyLinkDC++ и т.д.

Поиск файлрв в этих программах происходит в режиме реального времени, т.е. только у тех пользователей, которые подключены в данный момент времени к хабу. А значит такой поиск не полноценен. Плюс ко всему программы не показывают, какие новые файлы появились в сети с момента последнего моего захода на хаб. И это является настоящей проблемой — постоянно приходится прогонять поиск по запросам «avi, mdf, pdf» и т.д. чтобы посмотреть, какие появились новые фильмы, игры, книги… Вообщем головная боль :).

Под катом я предлагаю простое решение данных проблем (так сказать по быстрому и в лоб :)

Рассмотрим принцип работы одной из программ: FlyLinkDC++
Чтобы посмотреть какие файлы есть у конкретного пользователя, мы скачиваем его Список файлов. Этот список есть ничто иное, как обычная XML в архиве формата bz2 и копируется это счастье в папку «C:\Program Files\FlylinkDC++\Settings\FileLists\» (при условии, что программа была установлена с параметрами по умолчанию). Соответственно, получая списки файлов у всех пользователей, все они появляются в папке «FileLists».

А дальше дело техники:
1. Распаковываем файлы
2. Парсим XML в базу данных (поле TTH должно быть уникальным).
3. Пользуемся.

Т.к. одно поле в базе данных уникально (поле TTH — хеш файла), то мы избегаем повторов файлов в базе.
Зная время добавления данных в нашу базу — легко отслеживать появление новых файлов в сети.
Список файлов доступен всегда, даже если конкретный пользователь сейчас отключен от хаба.

Собственными корявыми руками была написана программа (архив 4 Мб. исходник+exe) реализующая эти действия. Сделано все по быстрому. Использовались Visual Basic .Net и в качестве базы — SQLite.

Внешний вид:
image

Сейчас времени доделывать программу нет, поэтому доведение ее до ума только приветствуется!
И не забудьте поделиться доработкой :!)
Теги:
Хабы:
Всего голосов 9: ↑7 и ↓2+5
Комментарии14

Публикации

Истории

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань