Я хочу знать Как работает Adobe Stratus? чтобы получить представление о том, как сделать что-то вроде этого самостоятельно. Итак, какой чистый хак Stratus использует для работы, как работает?Как работает Adobe Stratus?
ответ
Обычным взломом, используемым программным обеспечением P2P, является метод, называемый отверстием. Это используется для обхода NAT.
Когда сеть использует NAT, вы не можете подключиться к компьютеру в сети, вне сети, что делает невозможным создание соединений P2P.
Скажем, у вас есть два компьютера, A и B, расположенные в разных частях света, как за NAT. Для установления соединения P2P A и B будут подключаться к серверу Stratus. Это соединение откроет порт в маршрутизаторах A и B. Сервер stratus будет знать эти номера портов и будет делиться этой информацией с A и B. Затем A и B могут установить соединение с другими открытыми портами, тем самым устанавливая соединение P2P.
Я не знаком с adobe stratus, но, насколько я могу судить, это очень похоже на то, как работает обычное обход NAT, например SIP. Вы можете взглянуть на статью STUN о википедии, чтобы начать. Короче говоря, вы настроили один именованный сервер и используете keepalive клиентские подключения к серверу-посреднику или UnPnP, чтобы открыть порты для клиентов. Ситуации, когда оба клиента являются NAT: ed сложны, хотя UnPNP будет работать для этих ситуаций.
EDIT: описание протокола Skype доступен here
Adobe называет Stratus сервис "Рандеву". История идет так: версия 10 и далее. Флэш-проигрыватели могут напрямую подключаться друг к другу (одноранговый) с использованием проприетарного протокола RTMFP.
Однако для одного экземпляра флеш-приложения для подключения к другому ему нужен адрес экземпляра flash-приложения. Каждый экземпляр флэш-приложения может получить свой собственный адрес/отпечаток пальца/рядом с ним, подключившись к Adobe stratus. Как только клиент получает свой собственный nearId, он должен поделиться им с другими клиентами. Когда экземпляр флеш-приложения имеет другой экземпляр Flash-приложения, он может подключаться и прослушиваться в другом потоке экземпляра флэш-приложения.
Вы также можете прочитать о том, как это делают приложения P2P, такие как Skype, они обычно используют массив хаков, чтобы обойти NAT. –
какой массив хаков, например? – Rella
добавил ссылку на анализ протокола Skype. Это предполагает, что они используют модифицированную версию STUN и некоторый тип TURN. –