Networker
Networker(локальная peer-to-peer сеть для обмена файлами)
Трекер
Интерфейс: консольное приложение.
Назначение:
- Обслуживает огромное количество клиентов одновременно.
- Хранит список раздаваемых файлов в сети
- Хранит список IP адресов клиентов, которые раздают файлы
- Предоставляет всю имеющуюся информацию клиентам
- Получает информацию от клиентов и добавляет ее в списки
- Обновляет хранимые списки
- Логирует все свои действия в консоль
Клиент
Интерфейс: GUI приложение.
Назначение:
- Подключается к трекеру по указанному IP-адресу и порту, получает от него список раздаваемых файлов в сети, и IP-адресов клиентов которые эти файлы раздают
- Предоставляет список собственных раздаваемых файлов
- Обновляет хранимые списки
- Подготавливает файл к раздаче (считает HASH)
- Ищет фалы по маске, или предоставляет список всех раздаваемых файлов в сети.
- Подключается к другим клиентам, которые раздают файлы
- Скачивает на прямую с других клиентов
- Скачивание происходит параллельно со всех (других) клиентов, у каждого из них запрашивается определенная часть файла
- Создает пустой файл и заполняет его скачанными частями в правильном порядке
- Ждет подключения других клиентов
- Предоставляет запрашиваемые части файлов другим клиентам