- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Adobe的documentation for the AMF format似乎并没有实际指定整个 AMF 消息的结构。它仅指定单个数据类型的格式。我已经阅读了五次该死的东西,要么我完全错过了实际 AMF 消息应包含的内容,要么根本不存在。有谁知道实际的完整消息结构的任何文档?
最佳答案
该规范可能被描述为“简洁”。
AMF 编码使用称为“类型标记”的字节。整数的类型标记是值 4。整数数据紧跟在此标记之后,长度为 1-4 个字节。长度因整数类型被“压缩”而变化,因此值 0-127 只需要 1 个字节,而较大的值需要更多字节。这种整数格式在规范中称为“U29”。
例如,如果我们简单地传递整数“5”,一个有效的 AMF 数据包将是这两个字节:04 05
在 Web 上找到的应用程序中,AMF 数据有时会以网络字节顺序编码为 unsigned long 的长度开头。如果您正在观察此类应用程序,您可能会看到:
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
- 逐个字符串,字符串长度:275 69
- 'ui'0B
- 逐个字符串,字符串长度:570 61 72 61 6D
- '参数'19
- 逐个字符串,字符串长度:1262 75 74 74 6F 6E 5F 70 72 65 73 73
- 'button_press'04
- 整数05
- 整数值:501
- 空名称,终止此对象的动态成员的空列表
由于该数据包将占用 28 个字节,因此它的前缀可能为:00 00 00 1C
在野外遇到的时候。
另一个需要考虑的可能性是 AMF 通信可以被压缩,通常使用 zlib 中可用的“deflate”压缩。
我希望这可以帮助您理清规范,但如果您有问题,我会尽力回答。
关于flash - AMF 消息结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1499205/
我目前正在尝试基于哈希表构建字典。逻辑是:有一个名为 HashTable 的结构,其中包含以下内容: HashFunc HashFunc; PrintFunc PrintEntry; CompareF
如果我有一个指向结构/对象的指针,并且该结构/对象包含另外两个指向其他对象的指针,并且我想删除“包含这两个指针的对象而不破坏它所持有的指针”——我该怎么做这样做吗? 指向对象 A 的指针(包含指向对象
像这样的代码 package main import "fmt" type Hello struct { ID int Raw string } type World []*Hell
我有一个采用以下格式的 CSV: Module, Topic, Sub-topic 它需要能够导入到具有以下格式的 MySQL 数据库中: CREATE TABLE `modules` ( `id
通常我使用类似的东西 copy((uint8_t*)&POD, (uint8_t*)(&POD + 1 ), back_inserter(rawData)); copy((uint8_t*)&PODV
错误 : 联合只能在具有兼容列类型的表上执行。 结构(层:字符串,skyward_number:字符串,skyward_points:字符串)<> 结构(skyward_number:字符串,层:字符
我有一个指向结构的指针数组,我正在尝试使用它们进行 while 循环。我对如何准确初始化它并不完全有信心,但我一直这样做: Entry *newEntry = malloc(sizeof(Entry)
我正在学习 C,我的问题可能很愚蠢,但我很困惑。在这样的函数中: int afunction(somevariables) { if (someconditions)
我现在正在做一项编程作业,我并没有真正完全掌握链接,因为我们还没有涉及它。但是我觉得我需要它来做我想做的事情,因为数组还不够 我创建了一个结构,如下 struct node { float coef;
给定以下代码片段: #include #include #define MAX_SIZE 15 typedef struct{ int touchdowns; int intercepti
struct contact list[3]; int checknullarray() { for(int x=0;x<10;x++) { if(strlen(con
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Empty “for” loop in Facebook ajax what does AJAX call
我刚刚在反射器中浏览了一个文件,并在结构构造函数中看到了这个: this = new Binder.SyntaxNodeOrToken(); 我以前从未见过该术语。有人能解释一下这个赋值在 C# 中的
我经常使用字符串常量,例如: DICT_KEY1 = 'DICT_KEY1' DICT_KEY2 = 'DICT_KEY2' ... 很多时候我不介意实际的文字是什么,只要它们是独一无二的并且对人类读
我是 C 的新手,我不明白为什么下面的代码不起作用: typedef struct{ uint8_t a; uint8_t* b; } test_struct; test_struct
您能否制作一个行为类似于内置类之一的结构,您可以在其中直接分配值而无需调用属性? 前任: RoundedDouble count; count = 5; 而不是使用 RoundedDouble cou
这是我的代码: #include typedef struct { const char *description; float value; int age; } swag
在创建嵌套列表时,我认为 R 具有对列表元素有用的命名结构。我有一个列表列表,并希望应用包含在任何列表中的每个向量的函数。 lapply这样做但随后剥离了列表的命名结构。我该怎么办 lapply嵌套列
我正在做一个用于学习目的的个人组织者,我从来没有使用过 XML,所以我不确定我的解决方案是否是最好的。这是我附带的 XML 文件的基本结构:
我是新来的 nosql概念,所以当我开始学习时 PouchDB ,我找到了这个转换表。我的困惑是,如何PouchDB如果可以说我有多个表,是否意味着我需要创建多个数据库?因为根据我在 pouchdb
我是一名优秀的程序员,十分优秀!