В настоящее время я работаю над небольшим адаптером AMF3 и поэтому пытаюсь реализовать протокол AMF3. К сожалению, имеющиеся спецификации сильно отличаются от реальности (Captre из AMF связывается с BlazeDS и изучает исходный код BlazeDS).
Спецификация AMF0: http://opensource.adobe.com/wiki/download/attachments/1114283/amf0_spec_121207.pdf Спецификация AMF3: http://opensource.adobe.com/wiki/download/attachments/1114283/amf3_spec_05_05_08.pdf
К сожалению, оба не указывают фактический формат сообщения (заголовок, тело,...). Поэтому я поискал еще немного и нашел статью в Википедии: http://en.wikipedia.org/wiki/Action_Message_Format
Эта статья, особенно части примеров, похоже, описывают совершенно другой формат.
При просмотре сообщения и выполнении кода BlazeDS я вижу, что сообщение претендует на звание AMF3, но использует коды типов, определенные в AMF0 (0x0a — это строгий массив, а не объект, как определено в AMF3).
Может ли кто-нибудь объяснить мне этот беспорядок? В настоящее время я, вероятно, просто собираюсь использовать wireshark и код BlazeDS, чтобы каким-то образом перепроектировать описание протокола для меня, но я не знаю, почему нет ни одной действительной спецификации.