Пример #1
0
        public int DoDecode(Session session, OnPackageRev handler)
        {
            int rs = Decodable(session);

            if (rs == OK)
            {
                rs = DeCode(session, handler);
            }
            else if (rs == NOT_OK)
            {
                if (logReport != null)
                {
                    logReport.OnWarningReport("decode not ok,protocal erro");
                }
            }
            else if (rs == NEED_DATA)
            {
                if (logReport != null)
                {
                    logReport.OnDebugReport("decode not all,protocal need data");
                }
            }
            else if (rs == NO_DATA)
            {
                if (logReport != null)
                {
                    logReport.OnDebugReport("decode not all,protocal no data");
                }
            }
            return(rs);
        }
Пример #2
0
 public int DeCode(Session session, OnPackageRev handler)
 {
     try
     {
         IoBuffer       buffer = session.ReceiveBuffer;
         IoBufferReader reader = new IoBufferReader(buffer);
         reader.readInt();
         int cmd = reader.readInt();
         Dictionary <object, object> param = (Dictionary <object, object>)reader.Read();
         Msg msg = new Msg(cmd);
         msg.ParamMap = param;
         handler(msg);
         return(OK);
     }
     catch (Exception e)
     {
         logReport.OnWarningReport("decode not ok,protocal erro,ex:" + e.StackTrace);
         return(NOT_OK);
     }
 }