rtmp 之 amf

//z 2016-09-13 23:57:54 L.109'126   BG57IV3 T3733526206.K.F1949578739[T1,L143,R4,V10]

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+

//z 2017-02-08 18:03:05 L.326'21415 BG57IV3 T3795962035.K.F134211643 
 对应的枚举就是:
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结束。 




posted @ 2016-09-13 23:58  BiG5  阅读(277)  评论(0编辑  收藏  举报