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結束。 




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章