ну кагбэ если между клиентскими компьютерами есть "прямая видимость" - это банальный клиент-сервер. Ну, т.е. если у всех клиентских машин есть доступный друг для друга ИП-адрес (будь то реальный ИП, или внутрисетевой, если речь тока о работе в локалке). Т.е. на каждом клиентском компутере открыт серверный сокет, на который стучится клиентский сокет с другого клиентского компьютера; оба стучатся на сидящий где-то в интернетах выделенный сервер для получения нужных данных для координации. Как это писать - гугли примеры клиент-серверных приложений, обычно это всякие демки с пересылкой строки текста из одной софтины в другую, на базе этого знания сможешь построить всё остальное.
Хотя вообще-то если всё равно есть общий выделенный сервер к которому все стучатся за координацией... Если объем данных это не терабайты парнушки то проще будет не заморачиваться с изобретением P2P-велосипедов, а пустить через твой сервер и межклиентский трафик. Просто на сервере сидит куча клиентских подключений, сервер пихает клиентам список дескрипторов наличных подключений, а клиенты по надобности шлют на сервер блоки данных с пометкой какому из клиентов их нужно передать.
С третьей стороны, как сказал Олег, нафиг изобретать велосипеды вообще не обязательно. Можно с таким же успехом заюзать уже сто лет назад изобретенные почтовые и файловые серверы (а то и даже вообще левые халявные серверы. Но то уже по вкусу), устроив всё что нужно поверх них.
__________________
У світі багато брудного й заразного,
Але той хто хоче - лишається чистим.
|