Этой статьей я хочу открыть новую тему в своем блоге, посвященную разработке на Flash/Flex/ActionScript3. Итак приступим.
Flash Player 10.0
Начиная с версии 10.0 во Flash Player появилась очень интересная возможность, которая позволяет устанавливать прямые соединения между плеерами при помощи сервиса Stratus:
1 2 3
| nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
nc.connect('rtmfp://stratus.adobe.com/YOUR_DEVELOPER_KEY_HERE'); |
Этот сервис выполняет роль организатора: подключившись к нему ваш клиент получает уникальный Peer ID, зная который, другие такие же как и вы клиенты, могут напрямую подключаться к вашему клиенту и подписываться на данные, которые вы публикуете.
Давайте рассмотрим эту схему более подробно, по шагам:
- Flash-клиент в вашем браузере соединяется с сервисом Stratus
- В клиенте создается поток (NetStream), в который начинается публикация какого-то контента
- Другие flash-клиенты также соединяются с сервисом Stratus
- В них создаются потоки, которые подключаются к вашему клиенту по его Peer ID и подписываются на контент от него
Это самая простая схема: один клиент публикует контент, а другие подписываются на получение контента.
Но давайте попробуем усложнить эту схему. Что если каждый клиент и публикует и подписывается на потоки всех известных ему клиентов?
Read more…