Организация прямого соединения между двумя клиентами под контролем сервера
Существует сервер, с белым(реальным) IP, есть несколько клиентов, разбросанных по интернету(динамические адреса, nat...) Необходимо организовать прямой обмен данными между клиентами.
Вопросы такие:
1) Какие протоколы лучше всего использовать для обмена данными и установки соединения?
2)Что можно почитать на эту тему (пытался гуглить, но похоже не могу правильно задать вопрос)?
3) Если кто-то подобное делал, то какие библиотеки использовались?
Каким образом вы хотите сделать прямое соединение (в моем понимании — это канал, протянутый напрямую между двумя компами) таким образом, чтобы канал контролировал «сервер»? В любом случае это будет двухрангова светь. Я так понимаю)
Клиенты — это не компьютеры пользователей, это клиентская программа.
Изначально клиенты ничего друг о друге не знают, они могут узнать с сервера(обращаются к нему) и начать обмениваться данными.
Битторрент меня устраивает всем, меня интересует общий принцип, и не будет ли использование этого протокола забиванием гвоздей микроскопом? плюс интересуют альтернативы.
у меня клиентское приложение на pyqt, на чем будет осуществляться соединение: на c++, python, java… в общем не принципиально, т.к. их без проблем можно подружить. Мне нужно порядка на два больше компов, чем указано у них в платной лицензии :)