﻿※※※ 基本类型
1.字符串："字符串内容"

2.bool：true false

3.int：12

4.double：5.65

5.时间：2016-10-18T09:15:58.619590+08:00

6.空值：null

7.字节数组base64："CgwOEA=="

8.Table
[
    "#tbl",
	[
        [
            "列名1"  // string类型省略
        ], 
        [
            "列名2", 
            "列类型"
        ], 
        [
            "列名3", 
            "列类型"
        ]
    ], 
    [
        [
            ["列1原始值","列1当前值"], // 值变化时传递两值数组
            12,     // 无变化时只传单值
            "2016-10-18T09:08:22.702351+08:00",
			"Added/Modified" // 多出的列为行状态
        ], 
        [
            "列1值", 
            , 
            "2016-10-18T09:08:22.702351+08:00"
        ], 
        [
            , 
            33, 
            ,
        ]
    ]
]

9.Row
[
    "#row",
	"新建/修改状态", // 可能没有
    {
        "key1": "当前值", // string类型，值无变化
        "key2": ["类型", "当前值"], // 非string类型，值无变化
		"key3": ["类型", "当前值", "原始值"], // 值变化时传递完整信息
    }
]

10.Dict
[
    "#dict",
	["key1", "类型", "val1"], // 简单类型System.XXX
	["key2", "Int64", 11],
	["key3", "Byte[]", "CgwOEA=="],
    ["key4", "", ["#row",...]] // 复杂类型空即可
]

11.MsgInfo
[
    "#msg",
	"MethodName",
    [
        "参数1",
        "参数2",
		...
    ],
	PushMode,
	"Title",
	"Content"
]

12.LetterInfo
[
    "#letter",
	"ID",
    SenderID, // long
    "SenderName",
    LetterType, // int
    "Content",
    "SendTime"
]

13.非内置对象
[
    "#object",
    {
        "key1":"val1",
        "key2":"val2"
    }
]

----------------------------------------------------------------------------------------------------------------
※※※ 集合类型
1. List<string>
[
    "&ss", 
    "first", 
    "second"
]

2. List<bool>
[
    "&bs", 
    true, 
    false
]

3. List<int>
[
    "&is", 
    1, 
    2
]

4. List<double>
[
    "&ds", 
    1, 
    2.5
]

5. List<DateTime>
[
    "&dates", 
    "2016-10-18T14:55:09.012940", 
    "2016-10-18T14:55:09.012940"
]

6. List<object>
[
    "&objs",
    ["类型", "asdf"], // 简单类型System.XXX
    ["Int64", 123], 
    ["Byte[]", "CgwOEA=="], 
    ["DateTime", "2016-10-18T14:56:09.848929"],
	["", ["#row",...]] // 复杂类型空
]

7. List<Table>
[
    "&tbls", 
    [
        "#tbl",
        [
            [
                "DUMMY"
            ]
        ],
        [
            [
                "X"
            ]
        ]
    ], 
    [
        "#tbl",
        [
            [
                "DUMMY"
            ]
        ],
        [
            [
                "X"
            ]
        ]
    ]
]

8. List<Dict>
[
    "&dicts", 
    [
        "#dict", 
        ["key1", "类型", "val1"],
		["key2", "", ["#row",...]]
    ], 
    [
        "#dict", 
        ["key1", "类型", "val1"],
		["key2", "", ["#row",...]]
    ]
]

9. 非内置对象列表 List<T>
[
    "&object",
    [
        "#object",
        {
            "key1":"val1",
            "key2":"val2"
        }
    ],
    [
        "#object",
        {
            "key1":"val1",
            "key2":"val2"
        }
    ]
]



*** 支持类型嵌套

----------------------------------------------------------------------------------------------------------------
※※※ Rpc调用
1. 客户端到服务器调用，有返回值
[
    "服务名称", 
    "参数1", 
    "参数2",
	...
]

2. Rpc返回结果
[
    0,        // 0成功，1错误，2警告提示
    32,       // 耗时，非调试状态为0
    "返回值"   // 调用结果、错误信息或业务警告信息
]

3. 流模式的Frame内容
内容      // 所有可序列化对象
