support types 
    "none", "u8",   "i8",   "u16",   "i16",   "u32",   "i32",   "float",   "string",   "raw",   "map",
            "u8[]", "i8[]", "u16[]", "i16[]", "u32[]", "i32[]", "float[]", "string[]", "raw[]", "map[]"

"field" : {
	"name"                  : { "index" :    1, "type" : "string" }
}

"protol": {
	"cmd_achieve_op"        : { "index" :    1, "args" : [ "map" ] }
}
数据以Id, Type, Data格式连续进行存储，以小端格式存储，Id占2个字节(0-65536)，Type占2个字节
Id	Type	Data
Data读取
"none"                                   该数据已读取完，通常做为标识
"u8",   "i8",   "u16",   "i16" 以两个字节进行读取
"u32",  "i32",  "float"        以四个字节进行读取，float为读取i32值除以1000得出
"string",  "raw"               先读二个字节的长度，然后根据长度再读出数据
"map"
	持续读取Data，直到读取到Id=0，type="none"时map结束
数组
写入一个个数据，结束时时写入id为0，type为0的数据
