Обновление в реальном времени и передача данных в AS3 - PullRequest
3 голосов
/ 13 августа 2011

Я хочу сделать обновление в реальном времени для моего приложения Flash.Вместо того, чтобы обновлять каждые 30 секунд, я бы предпочел технологию push.Каков наилучший способ передачи данных в Actionscript 3?

1 Ответ

4 голосов
/ 13 августа 2011

Существует два популярных варианта реализации обновлений в реальном времени: сокеты и RTMP.У каждого есть свои преимущества и недостатки, но основным решающим фактором обычно является инфраструктура вашего сервера.

Сокеты

Сокеты обеспечивают функциональность самого низкого уровня.Это означает, что вам нужно будет реализовать протокол в коде на клиенте и на сервере.Однако самое большое преимущество этого подхода состоит в том, что он может работать для любой серверной технологии, поддерживающей сокеты TCP / IP.Вы можете отправлять данные в любом формате, который вам нравится, но наиболее эффективным будет использовать Формат сообщения ActionScript (AMF) для передачи данных в двоичном формате.

RTMP

Real-Time Media Protocol - это протокол, разработанный Adobe и изначально реализованный Flash Player.Использование RTMP потребует определенного сервера, который может поддерживать протокол.Существуют как собственные решения, так и бесплатные.Преимущество использования RTMP заключается в том, что большая часть протокола уже реализована, и обмен данными может быть таким же простым, как установка значения общего объекта - с протоколом, обрабатывающим передачу данных за кулисами.RTMP кодирует сообщения с использованием AMF, поэтому использование полосы пропускания эффективно.Протокол также поддерживает «туннелирование» по HTTP, что означает, что он прибегает к опросу по HTTP, когда соединение RTMP невозможно.

Вот некоторые серверные решения для реализации RTMP и / или AMF:

  1. FluorineFX (.Net)
  2. WebORB (.Net, Java, PHP)
  3. Red5 (Java)
  4. Adobe Flash Media Server (Java)

Эта запись в Википедии описывает протокол RTMP и доступные серверы более подробно.

...