编码AMF0 StrictArray的正确方法是什么

时间:2013-06-03 05:03:28

标签: serialization rtmp amf abnf

在概述the AMF0 specification之后,我发现我无法理解编码StrictArray类型的正确方法。

以下是规范中最直接的部分:

  

array-count = U32

     

strict-array-type = array-count *(value-type)

描述了带有Augmented Backus-Naur Form(ABNF)语法的StrictArray类型(参见RFC2234

StrictArray类型是否具有序数索引或简单编码对象(没有序号键),它们在StrictArray对象图中的出现顺序是什么?

另外,作为一个附加问题,序列化表(从中生成对象引用ID)是否包含对象图中的所有对象,或者只包含可以通过引用进行编码的对象(ECMAArray,StrictArray,TypedObject,AnonymousObject) ?

1 个答案:

答案 0 :(得分:1)

请参阅https://github.com/silexlabs/amfphp-2.0/blob/master/Amfphp/Core/Amf/Serializer.php第329至336行。 你写了对象的数量,然后是每个对象。

附加问题:相同代码,查找Amf0StoredObjects。 引用ID仅适用于可引用的对象。但这些因AMF0和AMF3而异。