Я знаю (думаю), что там происходит какое-то централизованное одноранговое соединение. Но тогда, как это установлено? Сами приложения действуют как клиенты и серверы. Они подключаются к какому-то центральному серверу, заполняют узел пользователя данными, такими как IP-адреса, MAC-адреса и другие данные. Но что тогда?
Они устанавливают прямое сокетное соединение между компьютерами пользователя? Если да, то как они избегают роутеров?
Они передают данные через центральный сервер?
Причина, по которой я спрашиваю, состоит в том, что я хочу создать приложение удаленного рабочего стола, которое сможет передавать потоковое изображение в режиме реального времени на подключенные клиентские приложения. Я знаю, что их там много, но 99% работают медленно. Я знаю, что возможно быть близко к реальному времени, OnLive делает это. 2 RDC, которые работают со скоростями, близкими к реальному времени, — это LogMeIn Pro (за который я не хочу платить, потому что мне нужен только HD-поток из платного пакета) и Radmin (который предназначен только для Windows).
Я готов его кодировать (на C / C ++ / Objective-C), но я просто не знаю, как его спроектировать.
Задача ещё не решена.
Других решений пока нет …