1. amf 類型
Number | 0×00 | double類型 |
Boolean | 0×01 | bool類型 |
String | 0×02 | string類型 |
Object | 0×03 | object類型 |
MovieClip | 0×04 | Not available in Remoting |
Null | 0×05 | null類型,空 |
Undefined | 0×06 | |
Reference | 0×07 | |
MixedArray | 0×08 | |
EndOfObject | 0×09 | See Object ,表示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+ |
對應的枚舉就是:
public enum DataType{
Number = 00,// 0
Boolean = 01,// 1
String = 02,// 2
UntypedObject = 03,// 3
MovieClip = 04,// 4
Null = 05,// 5
Undefined = 06,// 6
ReferencedObject = 07,// 7
MixedArray = 08,// 8
End = 09,// 9
Array = 10,// 10
Date = 11,// 11
LongString = 12,// 12
TypeAsObject = 13,// 13
Recordset = 14,// 14
Xml = 15,// 15
TypedObject = 16,// 16
AMF3data = 17// 17
}
2. rtmp協議中數據都是大端的,所以在放數據前都要將數據轉成大端的形式。
3. null是空,只有一個byte,0x05。
4. object類型要複雜點,第一個byte是03表示object,其後跟的是N個(key+value)。最後以00 00 09表示object結束。