Adobe documentation for the AMF format, по-видимому, не указывает структуру всего сообщения AMF. Он определяет только формат отдельных типов данных. Я прочитал эту чертову пять раз, и либо я просто полностью не понимаю, что должно содержать фактическое сообщение AMF, или его нет. Кто-нибудь знает какую-либо документацию о фактической структуре всего сообщения?AMF структура сообщений?
ответ
Спецификация может быть описана как «краткая».
Кодирование AMF использует байты, которые называются «маркеры типов». Маркер типа для целого числа - это значение 4. Целочисленные данные сразу следуют за этим тегом и составляют 1-4 байта. Длина изменяется, потому что целочисленный тип «сжимается», так что значения 0-127 требуют только 1 байт, а для больших значений требуется больше байтов. Этот целочисленный формат называется спецификацией «U29».
В качестве примера, если бы мы просто передать целое число «5», действительный АИФ пакет будет эти два байта:
04 05
В приложениях, найденных в Интернете, АИФ данных иногда предшествует по длине, закодированной как беззнаковый длинный порядок сетевых байтов. Если вы наблюдали такое приложение, вы можете увидеть:
00 00 00 02 04 05
, где 00 00 00 02
указывает, что следующие данные AMF имеют длину 2 байта.
Теперь предположим, что мы послали объект после того, как он имел следующий конструктор:
this.ui = "button_press"; this.param = 5;
Тогда мы могли бы увидеть следующее в АИФ данных:
0A
- Тег объекта
2B
- u29o-val: 2 закрытых элемента, объект с чертами и данными, возможно динамические элементы
01
- пустая строка - анонимный объект
05
- строка по значению, длина строки: 2
75 69
- 'щ'
0B
- строка по значению, длина строки: 5
70 61 72 61 6D
- 'парам'
19
- строка по значению , длина строки: 12
62 75 74 74 6F 6E 5F 70 72 65 73 73
- 'button_press'
04
- целое
05
- значение целого числа: 5
01
- пустое имя, завершает пустой список динамических меня mbs этот объект
Поскольку этот пакет займет 28 байт, он может иметь префикс: 00 00 00 1C
, когда встречается в дикой природе.
Другая возможность рассмотрения заключается в том, что связь AMF может быть сжата, как правило, используя сжатие «спуска», доступное в zlib.
Надеюсь, это поможет вам разобраться в спецификации, но если у вас есть вопросы, я постараюсь ответить на них.
Если вы ищете ремоутинг структуры сообщения оно добавляется к концу AMF0 spec - Раздел 4
Вы также можете пройти через вику http://en.wikipedia.org/wiki/Action_Message_Format Это необходимая достаточно информации.
Thanks, Rajesh.
- 1. Структура сообщений Git Commit
- 2. Внедрение Zend AMF и защита протокола AMF
- 3. Rails3-amf и слияние ассоциации с amf
- 4. Firebug и сообщение AMF
- 5. Как предотвратить удаленный файл RemoteObject от пакетных сообщений AMF?
- 6. Очереди сообщений и структура приложения
- 7. RabbitMQ Структура Для Личных сообщений
- 8. Структура TCP-сообщений с XML
- 9. Структура сообщений Django и login_required
- 10. MongoDB Структура для приложения сообщений
- 11. EDIFACT macro (читаемая структура сообщений)
- 12. Структура таблицы для личных сообщений
- 13. Структура таблиц для систем сообщений
- 14. Сериализация AMF для python3
- 15. .NET и AMF
- 16. ATG & Flex через AMF?
- 17. FluorineFx Inspect AMF Header
- 18. Поддерживает ли кеширование AMF?
- 19. AMF клиент в Java
- 20. android AMF protocol
- 21. Что такое формат AMF?
- 22. Как работает AMF-связь?
- 23. Структура mysql для сообщений и комментариев
- 24. Структура базы данных для системы веб-сообщений
- 25. Прямой чат сообщений с firebase - структура данных?
- 26. Структура поиска для сообщений об ошибках
- 27. Структура сообщений Django со встроенным бэкэндом Jinja2
- 28. Структура сообщений Django не отображает сообщение?
- 29. Zend AMF Optimization; Советы и приемы?
- 30. SoapUi AMF Request do login
Спасибо, очень полезно. Я действительно надеялся, что где-то есть описание BNF всего действительного сообщения AMF, включая заголовки и многое другое; Я прошел через код для AMFPHP, чтобы увидеть, что он делает, когда он расшифровывается, и там было много чего, что даже не было намечено в реальной спецификации, не говоря уже о подробностях. – dirtside