Всем привет!
Разбираюсь с передачей файлов по сети
Хочу реализовать, следующее ( наподобие торрент системы) на сокетах и используя протокол TCP
1. Сервер расшаривает файлы
2. Клиенты могут скачивать эти файлы
3. Клиент может качать один файл одновременно с нескольких серверов
4. Необходима обработка обрывов связи
Например есть файл размер 1гб - разбиваем его на пакеты
1. север расшаривает файл
2. Отправляет всем клиентам, что он расшарил файл - название и размер
3. Клинт отправляет запрос , что ему необходимо скачать - какойто пакет
4. Сервер может либо переслать этот файл - если есть такой пакет
либо вернуть сообщение , что нет такого файла
5. Клиент, может раздавать этот файл другим клиентам
Подскажите как такое реализовать?? как организовать определение этих команд?
Для каждого нового подключения использовать отдельный поток?