Библиотека Java для кодирования / декодирования AMF

В настоящее время у меня есть сервер Java, который общается с клиентом Flash, передавая данные в кодировке JSON через соединение с двоичным сокетом. Есть ли способ с обеих сторон кодировать / декодировать пакеты как AMF вместо JSON? Мне кажется, что для этого должна быть какая-то нативная поддержка в Flash player? Все найденные мной реализации сериализации AMF кажутся встроенными в структуру приложения.

Точно так же, кто-нибудь знает, можно ли декодировать пакеты AMF независимо от реализации соединения во Flash?


person Ceilingfish    schedule 01.06.2010    source источник


Ответы (2)


Вы можете использовать класс OpenAMF AMFDeserializer,

http://www.openamf.com/javadocs/org/openamf/io/AMFDeserializer.html

Вы также можете использовать соответствующие классы в RED5 и BlazeDS.

person ZZ Coder    schedule 01.06.2010
comment
Это выглядит довольно круто, похоже, больше соответствует соглашениям java.io. - person Ceilingfish; 01.06.2010

AMF расшифровывается как ActionScript Messaging Format и поддерживается самим flash-плеером из коробки. Что касается Java, я уверен, что уже написана какая-то библиотека. Red 5 - это открытый Flash-сервер, написанный на Java и поддерживающий AMF, так что вы можете его проверить.

PS:

Похоже, сериализация / десериализация AMF рассматривается в этом пакете (красный код 5): http://red5.googlecode.com/svn/java/server/tags/0_9rc1/src/org/red5/io/amf/. Однако не уверен, есть ли для этого хороший отдельный API.

person Juan Pablo Califano    schedule 01.06.2010
comment
Мы перешли с Red5 из-за проблем с производительностью. Он очень сильно страдает при большом количестве одновременных пользователей. - person Ceilingfish; 01.06.2010
comment
Я имел в виду, что, поскольку Red 5 является открытым исходным кодом, вы можете проверить, как он обрабатывает AMF (и, возможно, он использует для этого некоторую библиотеку с открытым исходным кодом). Отвечая на ваш комментарий о производительности, я слышал хорошие отзывы о Wowza (wowzamedia.com). тем не менее, имеют непосредственный опыт работы с этим. - person Juan Pablo Califano; 01.06.2010