AMF消息结构?

2024-03-20

Adobe's AMF 格式的文档 http://opensource.adobe.com/wiki/download/attachments/1114283/amf3_spec_05_05_08.pdf似乎并没有实际指定整个 AMF 消息的结构。它仅指定单个数据类型的格式。我已经读了五遍这该死的东西,要么我完全错过了实际的 AMF 消息应该包含的内容,要么它不存在。有谁知道实际整个消息结构的任何文档?


该规范可以被描述为“简洁”。

AMF 编码使用称为“类型标记”的字节。整数的类型标记是值 4。整数数据紧跟在该标记之后,长度为 1-4 个字节。长度会有所不同,因为整数类型被“压缩”,因此值 0-127 仅需要 1 个字节,而较大的值需要更多字节。该整数格式在规范中称为“U29”。

例如,如果我们简单地传递整数“5”,则有效的 AMF 数据包将是这两个字节:
04 05

在网络上的应用程序中,AMF 数据有时前面有一个按网络字节顺序编码为无符号长整型的长度。如果您正在观察这样的应用程序,您可能会看到:
00 00 00 02 04 05,其中00 00 00 02表示后面的AMF数据是2字节长。

现在,假设我们发送了一个具有以下构造函数的对象:



   this.ui = "button_press";
   this.param = 5;
  

那么我们可能会在AMF数据中看到以下内容:

0A- 对象标签
2B- u29o-val:2 个密封成员,具有特征和数据的对象,可能是动态成员
01- 空字符串 -- 匿名对象
05- 按值字符串,字符串长度:2
75 69 - 'ui'
0B- 按值字符串,字符串长度:5
70 61 72 61 6D- '参数'
19- 按值字符串,字符串长度:12
62 75 74 74 6F 6E 5F 70 72 65 73 73- '按钮按下'
04- 整数
05- 整数值:5
01- 空名称,终止该对象的动态成员的空列表

由于该数据包将占用 28 个字节,因此它可能带有以下前缀:00 00 00 1C当在野外遇到时。

另一种需要考虑的可能性是 AMF 通信可以被压缩,通常使用 zlib 中提供的“deflate”压缩。

我希望这可以帮助您理清规范,但如果您有疑问,我会尽力回答。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AMF消息结构? 的相关文章

  • ActionScript 3 分析器和内存分析工具

    我正在使用 Adob e Flash CS 4 想知道是否有可用的分析器或内存分析工具 动作脚本 3 我知道有适用于 Flex 的工具 但是有适用于 Flash CS 4 的工具吗 谢谢 我确信那里有一个程序 仍在寻找我自己 但我 大多数
  • 获取调试端口时出错 :: 无法使用当前安全信息在 RDS 服务器上进行身份验证。 (Adobe 的 ColdFusion 扩展)

    我安装了 我添加了本地服务器 127 0 0 1 80 创建了工作区 现在我想调试我的项目 我打开了一些 cfml 文件 进入 运行和调试 选项卡 然后单击 运行和调试 按钮 我收到以下错误消息 调试器已停止 获取调试端口时出错 无法使用当
  • 将变量从 flash 传递到 HTML/php

    我希望也许有人可以对我很难决定如何解决的问题提供一些见解 我有一个相当简单的 Flash 应用程序 用户可以在连接时快速创建一个用户名 并且该用户名是在 Flash swf 内创建的 现在 我有一个 cron 作业 每十分钟删除一次不活动的
  • 从视频或音频文件中删除人声

    有没有一种方法可以从音频 视频中删除人声 所以最终音乐就留在上面了 我想使用任何软件 如 adobe 等 或使用命令行 如 ffmpeg sox 来执行此操作 但我更喜欢命令行来轻松调整设置 我从事卡拉 OK 工作有一段时间了 没有办法可靠
  • Bootstrap-modal 在 Flash 顶部弹出

    我正在使用 Twitter 的 Bootstrap 插件bootstrap modal 除非后面有闪光灯元件 否则它效果很好 当引导模式对话框出现并且其后面有一个 Flash 元素时 Flash 元素位于其他所有元素之上 我该如何解决 您需
  • 在 Android Flash 10.1 上打开软件键盘

    我正在开发在浏览器中运行的移动 Flash 应用程序 不是 AIR 应用程序 根据 Adob e 的说法 Flash Player 10 1 提供支持 使用本机设备虚拟键盘 如果没有物理支持 则使用 TextField 支持 检测到键盘 一
  • 为什么 ActionScript 中没有记录 drawRoundRectComplex() ?

    在研究actionscript 3的图形类时 我遇到了未记录的drawRoundRectComplex 方法 它是一个变种drawRoundRect 但有 8 个参数 最后四个是每个角的直径 x y 宽度 高度 左上 右上 左下 右下 ex
  • Flash AS3 - 将多个对象拖放到一个目标?

    标题或多或少是不言自明的 我一直在学习许多不同的教程 而且说实话 我对 AS3 不太擅长 上图显示了我的目标 无论如何 我在我看到的大多数在线教程中注意到 拖放教程要么基于一个对象到一个目标 要么基于多个对象到多个目标 所以我想知道是否有人
  • ReferenceError:错误#1065:变量 JSON 未定义

    我快要爆炸了 想弄清楚如何解决这个问题 所以在我这样做之前 也许你可以帮助我 我正在 flash builder 4 5 1 21328 中的 flash Player 11 下开发一个游戏 我想尝试一下新功能 例如本机 JSON 支持 但
  • Flash 点击时不打开链接

    我用 Flash 创建了这个横幅 我需要单击它来打开一个网页 我使用了这个 Actionscript 3 0 代码 link btn addEventListener MouseEvent CLICK openurl function op
  • 如何调整外部 SWF 的大小以适合容器?

    我想要完成的是调整外部 SWF 的大小 使其适合在舞台上作为容器呈现的显示对象 现在它显示在容器外部 重要提示 我不希望外部 SWF 占据整个舞台 我在舞台上为它准备了一个特殊的地方 那个容器 public function loaderC
  • 我应该将 FLV 文件放在哪里才能在本地 Red5 服务器上进行流式传输?

    我安装了最新的 Red5 服务器 但我不确定将 flv 文件放在哪里来进行流式传输 没有像我在网上找到的一些教程那样的 streams 或 ofla 目录 我应该将 flv 文件放在哪里来进行流式传输 Red5 附带了一些演示 但默认情况下
  • 在 Flash 对象上方显示图像

    我在这里面临着一个棘手的情况 这就是问题 我有一个 Flash 对象 我想在其上显示图像这些是我尝试过的技巧 1 玩转z index 没用 2 将wmode参数设置为透明 不透明 同样没有用 3 使用javascript并仅在页面加载后显示
  • Chrome 更新阻止 Flash 自动播放 - 如何避免?

    我在 html 页面中嵌入了 YouTube 视频 我将 youtube iframe API 与 Flash 结合使用 在我的例子中 我无法使用 HTML5 视频 自上次 Google Chrome 更新以来 Chrome 会阻止自动播放
  • 在android中加载swf文件时出现问题

    当我在 Android 模拟器中加载交互式 SWF 文件时遇到问题 我使用2 3 1 AVD 这是代码 package com androidpeople view import android app Activity import an
  • AS3 无法从 Java 发送的套接字解​​码 AMF3 对象

    我有一个 java 套接字服务器 它在连接时将 Animal 对象发送到 Flash 客户端 对象的发送方式如下 Amf3Output amf3Output new Amf3Output SerializationContext getSe
  • Adobe Flash 项目的版本控制

    我正在处理一个非常复杂的 Flash 项目 该项目是我们为客户使用而部署的全套服务的一部分 对于我们的大多数软件源 Java PHP Javascript HTML 和一些其他语言的支持脚本 我们使用 subversion 进行版本控制和管
  • Actionscript 对象的属性数量

    如何获取通用 Actionscript 对象中的属性数量 如数组长度 您必须循环所有元素才能对它们进行计数 function objectLength myObject Object int var cnt int 0 for var s
  • Flash 未在调试播放器中显示错误/堆栈跟踪(firefox/chrome/whatnot)

    我正在尝试调试在线默默地失败的应用程序 我 100 确定我正在运行 Flash 调试播放器 为了确保我不会丢失它 我故意抛出一个错误 但 Flash 在浏览器中没有显示任何 stracktrace 我快要失去它了 有什么线索吗 我正在 ch
  • 更改由 AS3 添加到舞台的影片剪辑中的动态文本字段不起作用?

    当我更改动态文本字段的文本值时 文本字段只是变为空白 而不显示新值 我有一个名为 game board 的 MovieClip 由 AS3 动态添加到舞台上 舞台一开始是空白的 我有另一个名为 stage 2 的 MovieClip 它作为

随机推荐