AMF协议里面的数据类型


详细的数据类型,参考Red5
FMS3中为了实现H.264数据的直播而增加了一个数据类型,这个类型的值为0x16,这个类型不在下表中,如果需要请参看

http://www.cnweblog.com/fly2700/archive/2009/02/06/297957.html


enum AMF
{
/**
* Boolean value marker constant
*/
TYPE_BOOLEAN = 0x01,

/**
* String marker constant
*/
TYPE_STRING = 0x02,

/**
* Object marker constant
*/
TYPE_OBJECT = 0x03,

/**
* Movieclip marker constant
*/
TYPE_MOVIECLIP = 0x04 ,

/**
* Null marker constant
*/
TYPE_NULL = 0x05,

/**
* Undefined marker constant
*/
TYPE_UNDEFINED = 0x06,

/**
* Object reference marker constant
*/
TYPE_REFERENCE = 0x07,

/**
* Mixed array marker constant
*/
TYPE_MIXED_ARRAY = 0x08,

/**
* End of object marker constant
*/
TYPE_END_OF_OBJECT = 0x09,

/**
* Array marker constant
*/
TYPE_ARRAY = 0x0A,

/**
* Date marker constant
*/
TYPE_DATE = 0x0B,

/**
* Long string marker constant
*/
TYPE_LONG_STRING = 0x0C,

/**
* Unsupported type marker constant
*/
TYPE_UNSUPPORTED = 0x0D,

/**
* Recordset marker constant
*/
TYPE_RECORDSET = 0x0E,

/**
* XML marker constant
*/
TYPE_XML = 0x0F,

/**
* Class marker constant
*/
TYPE_CLASS_OBJECT = 0x10,

/**
* Object marker constant (for AMF3)
*/
TYPE_AMF3_OBJECT = 0x11,

/**
* true marker constant
*/
VALUE_TRUE = 0x01,
/**
* false marker constant
*/
VALUE_FALSE = 0x00
};

《“AMF协议里面的数据类型”》 有 4 条评论

  1. AMF是Action Message Format协议的简称,AMF协议是Adobe公司自己的协议,主要用于数据交互和远程过程调用,在功能上相当于WebService,但是AMF与WebService中的XML不同的是AMF是二进制数据,而XML是文本数据,AMF的传输效率比XML高。AMF使用HTTP方式传输,目前主要是用于ActionScript中,即实现Flex和Server之间的通信。

  2. AMF目前有两种版本,AMF0和AMF3,他们在数据类型的定义上有细微不同。关于AMF的官方文档参见:http://download.macromedia.com/pub/labs/amf/amf3_spec_121207.pdf

  3. Type 	Byte code 	Notes 
    Number 	0×00 	
    Boolean 	0×01 	
    String 	0×02 	
    Object 	0×03 	
    MovieClip 	0×04 	Not available in Remoting 
    Null 	0×05 	
    Undefined 	0×06 	
    Reference 	0×07 	
    MixedArray 	0×08 	
    EndOfObject 	0×09 	See Object 
    Array 	0x0a 	
    Date 	0x0b 	
    LongString 	0x0c 	
    Unsupported 	0x0d	
    Recordset 	0x0e	Remoting, server-to-client only 
    XML 	0x0f	
    TypedObject (Class instance) 	
    0×10	
    AMF3 data 	0×11	Sent by Flash player 9+
    
  4. public enum DataType
    {
       Number = 0,
       Boolean = 1,
       String = 2,
       UntypedObject = 3,
       MovieClip = 4,
       Null = 5,
       Undefined = 6,
       ReferencedObject = 7,
       MixedArray = 8,
       End = 9,
       Array = 10,//0x0A
       Date = 11,//0x0B
       LongString = 12,//0x0C
       TypeAsObject = 13,//0x0D
       Recordset = 14,//0x0E
       Xml = 15,//0x0F
       TypedObject = 16,//0x10
       AMF3data=17//0x11
    }
    

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

验证码 * Time limit is exhausted. Please reload CAPTCHA.