示例#1
0
        private static BaseMessage GetPublicMsg(byte[] buf, int index, XorPacketParameter xpp)
        {
            BaseMessage bm  = null;
            int         cmd = xpp.Src_2;

            Utility.GetXorSec(buf, index + GobalDef.BASE_MSG_FTTYPE_INDEX, SecurityFactory.XorSec, xpp);
            int _ftType = xpp.Src_1;

            _ftType = _ftType & 0x3;
            switch (cmd)
            {
            case GobalDef.COMMAND_STYPE_PUBLIC_LOGIN:
                if (_ftType == GobalDef.BASE_MSG_FT_REQ)
                {
                    bm = new LoginReq();
                    bm.SetupBuf(buf, index);
                }
                else if (_ftType == GobalDef.BASE_MSG_FT_RCV)
                {
                    bm = new LoginRcv();
                    bm.SetupBuf(buf, index);
                }
                break;

            case GobalDef.COMMAND_STYPE_PUBLIC_CHECK_TIME:
                if (_ftType == GobalDef.BASE_MSG_FT_REQ)
                {
                    bm = new CheckTimeReq();
                    bm.SetupBuf(buf, index);
                }
                else if (_ftType == GobalDef.BASE_MSG_FT_RCV)
                {
                    bm = new CheckTimeRcv();
                    bm.SetupBuf(buf, index);
                }
                break;

            case GobalDef.COMMAND_STYPE_PUBLIC_GETSERVER:
                if (_ftType == GobalDef.BASE_MSG_FT_REQ)
                {
                    bm = new GetServerReq();
                    bm.SetupBuf(buf, index);
                }
                else if (_ftType == GobalDef.BASE_MSG_FT_RCV)
                {
                    bm = new GetServerRcv();
                    bm.SetupBuf(buf, index);
                }
                break;
            }
            return(bm);
        }
示例#2
0
 public BaseMessage ParsePublicMsgReq(BaseMessage bm)
 {
     switch (bm.SCommand)
     {
     case GobalDef.COMMAND_STYPE_PUBLIC_GETSERVER:
         GetServerRcv gsr = new GetServerRcv();
         gsr.FromDevID  = bm.FromDevID;
         gsr.ToDevID    = bm.ToDevID;
         gsr.FromType   = GobalDef.BASE_MSG_FT_SERVER;
         gsr.ToType     = bm.FromType;
         gsr.ServerList = GobalConfigInfo.Instance.ServerList;
         return(gsr);
     }
     return(null);
 }