[lottery] 05_协议处理(重要)——接收协议(服务端)

Android 4.0

接收协议(服务端)

1、服务端接收到的xml数据
举例:查询指定玩法可销售期信息回复
①服务器发送给客户端的xml数据格式
<?xml version='1.0' encoding='utf-8' ?>
<message version="1.0">
    <header>
        <messengerid>2009111310153300000001</messengerid>   //客户端发送过来的xml的唯一标识
        <timestamp>20091113101550</timestamp>  //客户端的时间戳
        <transactiontype>12002</transactiontype>  //客户端的请求类型
        <digest>7ec8582632678032d25866bd4bce114f</digest>  //完整body的md5值
        <compress>DES</compress>  //body中内容的加密算法,不包括body标签
        <agenterid>800001</agenterid>  //子代理商id
    </header>
    <body>
        <oelement>
            <errorcode>0</errorcode>   //0表示操作成功
            <errormsg>操作成功</errormsg> //给客户端的文本显示
        </oelement>
        <elements>
            <element>
                    <lotteryid>118</lotteryid>   //彩票id,客户买的是什么彩票
                    <lotteryname>双色球</lotteryname> //彩票id对应的名字
                    <issue>2013070</issue> //第几期
                    <lasttime>86400</lasttime> //该期还有多少时间可投注
            </element>
        </elements>
    </body>
</message>
②发送协议xml文件的详细介绍
header:
下面四个服务器端不做处理,原封不动的发送给客户端
messengerid:客户端xml文件的唯一标识
transactiontype:客户端请求的类型
compress:客户端body中内容的加密算法,服务器也和客户端保持一致
agenterid:子代理商id
下面两个改变
timestamp:服务器端生成该xml文件时间
digest:服务器生成的md5值,时间戳+密码+完整body
body:
oelement:服务器端处理结果的信息描述
        errorcode:处理的结果码(0代表成功)
        errormsg:处理的结果描述
 
element:服务器端回复的内容(不同的请求,服务端回复的内容不一致)
       issue:当前销售的期次
       lasttime:剩余时间,相对于子代理商服务器
③服务端实际发送给客户端的xml数据,进行加密后的xml数据
<!--实际传输内容-->
<?xml version="1.0" encoding="utf-8"?>
<message version="1.0">
    <header>
        <messengerid>20091113101533000001</messengerid>
        <timestamp>20091113101533</timestamp>
        <transactiontype>12002</transactiontype>
        <digest>041a1f10e7cd9fe5531a61f8bdef5faa</digest>
        <compress>DES</compress>
        <agenterid>1000002</agenterid>
        </header>
    <body>  HmtGfqfbbCvzJvIvv+HjhHmbzgj+JRAutc2wOfw9+rsKAEKJX79jf2chPUk9XZTaMYphue6K/FeOZ3BNFjdnPsPvvL/1/vA75iGWiU8zKDYa9/jKDwz3Rbe1X6m3hamZPMLXz7FSXnD/Ur/BTZqfmta+0yJuMPGcWQEFjVnO/10amdeXoQDJDjP9gmOWb7r7WiMcXRYTSTmH1F8a5a1tVXQnK6WU4fmDkCU1Yq+RAowxwAH9VzvZiOP8ISyCGHpYPCADWcvpE5RtH0Le674kW29XIisxTJvcVhuDDamnMa0=
    </body>
</message>
④其他请求信息的回复
当前期信息
        issue:当前期(正在销售)
        lasttime:还剩多少时间当前期完结,针对服务器期的截止时间,单位是秒
        lotteryname:玩法名称
        lotteryid:玩法编号

用户注册
        actvalue integer  >=0 账户金额    
      
用户登陆
        无信息

用户账户查询
        accountname string 32 账户名称
        accountid string 32 账户ID
 
        accounvalues string * 账户金额
        investvalues   可投注金额(包括用户注册时,送给用户的金额)
        cashvalues   可提现金额(不包括送给用户的金额)

投注回复
        serialid string * 账单流水号
        tradevalue string * 实际扣费金额
        actvalue int * 用户账户余额