В принципе вам нужен сервер (ну, не нужен сервер, но это будет сделать намного проще), который будет хранить IP-адреса пользователей, между прочим, как файловые списки хеш и т.д.
Этот сервер может быть в любом окружении, которое вы хотите (что очень удобно).
Затем каждый клиент подключается к серверу (он должен иметь dns, он может быть бесплатным, я использовал no-ip.com один раз) и сначала отправляет основную информацию (например, ее IP-адрес и хеш-лист файла), а затем посылает что-то время от времени (скажем, каждые 5 минут или меньше), чтобы сообщить, что он все еще доступен.
Когда клиент ищет файлы/пользователей, он просто запрашивает сервер.
Это централизованная сеть, но общий доступ к файлам будет выполнен в p2p-соединениях клиент-клиент.
Причина этого заключается в том, что вы не можете узнать IP для подключения без какой-либо ссылки.
Просто, чтобы очистить этот сервер вещь до:
- Torrents использовать трекеры.
- ED2K eMule использует серверы lugdunum.
- «true p2p» eMule «Kademlia» использует известных узлов (клиентов) (большую часть времени от серверов like this).
Я думаю, что он означает бит-торрент, но ему нужны некоторые ссылки на то, как начать изучать систему, как она работает, ее протоколы и т. Д. – RobertPitt
Я думаю, что бит торрент будет работать, я думал о настройке трекера, но я 'd предпочитают систему, которая не требует от меня использования сервера. – Parker
@Parker: Bittorrent с DHT и PEX не требует сервера. http://en.wikipedia.org/wiki/BitTorrent_(protocol)#Distributed_trackers –