20. P2P Part1. Обзор технологии. Теория

P2P – Серия статей посвященных работе с P2P .
Посмотреть все статьи: http://flashpress.ru/blog/category/p2p/
Серия вводных статей на тему p2p:
  1. P2P Part1. Обзор технологии. Теория
  2. P2P Part2. Установка соединения. Практика
  3. P2P Part3. Видео-связь используя web-камеру

Серии статей на тему проектирования и создания p2p-приложений:

  1. Проектирования и создания текстового p2p-чата (2 урока)
  2. Проектирования и создания p2p чат-рулетки (скоро) хочу
  3. Проектирования и создания групповой p2p-рисовалки (скоро) хочу
  4. Проектирования и создания p2p-файлообменника (скоро) хочу
  5. Проектирования и создания сетевой p2p-игры без сервера (скоро) хочу

Технология P2P уже давно прочно осела в нашем повседневном web-сёрфинге. На этой технологии работают такие известные приложения как Skype, торренты … С появлением P2P во флеше, адобовцы конечно же сильно оторвались вперед от своих конкурентов. Флешовый P2P используется практически во всех соц сетях для видео звонков. Видео чат это конечно круто, но это не единственное место где может пригодится P2P во Flash:

  1. Текстовый/видео чат
  2. Групповое рисование
  3. Распределенная передача файлов больших объемов
  4. Простые игры без участия сервера

Как работает P2P

Если говорить простым языком, флешки могут устанавливать прямые соединения между собой, и передавать друг другу любую информацию. Для установки соединения, флешки используют сервер Adobe, а передача информации происходит напрямую без использования сторонних серверов. Установка связи через сервер Adobe происходит автоматически, все что нам нужно сделать в коде ActionScript, это создать объект P2P и вызвать метод connect. Вы можете использовать P2P в двух режимах:

  1. Установка прямого соединения между двумя флешками
  2. Групповое соединение

Во втором случае при передаче информация распределяется между соседями и передается кусками, что бы ускорить процесс передачи. Под соседом здесь понимается ближайший узел в сети P2P. Посмотрите на картинку ниже:
p2pmulticast
На этой картинке видно что Flash строит свою сеть равномерно между всеми участниками группового сеанса. Установка связи с соседями определяется по принципу максимальной скорости.

Рассмотрим простой пример. Вы вошли в видео чат в котором есть еще 3 участника: UserA, UserB, UserC. Двое из них(UserA, UserB) это ваши сотрудники которые сидят в соседнем кабинете, а третий(UserC) – ваш общий друг, который в данный момент находится где нибудь на островах Тихого океана. Если вы начинаете передавать большой объем информации другу UserC, то установка связи произойдет как показано на картинке:

p2pmulticast2

Почему именно так? Т.к вы и пользователи A,B находитесь физически рядом, то скорость передачи информации между вами достаточно высокая. Поэтому когда вы переедаете большой обьем данных пользователю C, то для увеличения скорости, флешка разделит вашу пачку данных на две части, и будет передавать их равномерно через пользователей A,B.

Учитывая специфику работы P2P имеем: чем больше участников в P2P сети, тем быстрее происходит передача информации. Парадокс, но факт. Информация распределяется между всеми участниками и передается равномерно. Причем информация распределяется учитывая скорость участника. Т.е. те у кого скорость выше, получают бОльший кусок для дальнейшей передачи соседу

Вы спросите а как же передача из A в C? Конечно же этот пример не отражает всю специфику работы Flash-P2P, все на много сложнее чем кажется на первый взгляд. Надеюсь пример показал вам общие принципы работы этой технологии.

Продолжение урока читайте здесь P2P Part2. Установка соединения. Практика
Серия вводных статей на тему p2p:
  1. P2P Part1. Обзор технологии. Теория
  2. P2P Part2. Установка соединения. Практика
  3. P2P Part3. Видео-связь используя web-камеру

Серии статей на тему проектирования и создания p2p-приложений:

  1. Проектирования и создания текстового p2p-чата (2 урока)
  2. Проектирования и создания p2p чат-рулетки (скоро) хочу
  3. Проектирования и создания групповой p2p-рисовалки (скоро) хочу
  4. Проектирования и создания p2p-файлообменника (скоро) хочу
  5. Проектирования и создания сетевой p2p-игры без сервера (скоро) хочу
P2P – Серия статей посвященных работе с P2P .
Посмотреть все статьи: http://flashpress.ru/blog/category/p2p/

Да прeбудет с вами Flash.
Serious Sam
Эту статью прочитали 4531 раз

Возникли вопросы по статье? Не стесняйтесь спрашивать в комментариях или любым другим способом на странице Контакты .

Присоединяйтесь к нам в социальных сетях: ВКонтакте , Twitter и Facebook
Понравилась статья? Буду благодарен если вы поделитесь ссылкой с друзьями:


Комментарии ВКонтакте:




Комментарии Facebook:




Комментарии WordPress:


  1. Xumar

    На перерыве начал читать и уже нравиться…спасибо что находишь время писать нам статьи….домой приду дочетаю

  2. Xumar

    верно ли я понял я могу сделать допустим игру по сети ? создам флешки в каждой по танчику и играть p2p . но то есть он будет видеть как я у него там передвигаюьс а я буду видеть его танчик в своей флешке

    1. Serious Sam Автор записи

      да, вы все верно поняли. В 6 части из этой серии статей мы создадим простую сетевую игру без сервера с использованием P2P. Следите за новостями :)

    1. Serious Sam Автор записи

      Спасибо! Ваше признание – для меня это лучшая награда и мотивация писать новые статьи :)

  3. Уведомление: Установка p2p соединения во Flash и передача данных между флешками | FlashPress.ru - ActionScript 3.0 и Adobe Flash

  4. Арт

    Скажите можно ли где скачать сетевые p2p-игры без сервера, хочу вставить их в свой сайт, что двое с разных компов играли в одну игру на сайте

  5. Андрей

    Скажите, пожалуйста, а приложения на Adobe AIR (HTML+JavaScript) тоже поддерживают подобный P2P-обмен данными?

    1. Serious Sam Автор записи

      приложения на AIR(Desktop и Mobile) тоже поддерживают P2P-обмен, вопрос в том, поддерживается ли UDP трафик в сети(Ethernet, WIFI, 3G и т.д.), к которой подключено ваше устройство.