// 2018-09-11 解析接收到的数据报文
        public static int ParseRealDataProtocal(ref ClientInfo clientInfo, byte[] buffer, int nDataLen)
        {
            if (nDataLen <= 18)
            {
                return(0);
            }
            bool bVerified = clientInfo.Verified;

            if (bVerified)
            {
            }
            else
            {
                clientInfo.Sim        = GetSimCard(buffer, 3);
                clientInfo.Verified   = true;
                clientInfo.NeedVerify = false;
                ClientInfoCommon.AddClientInfo(clientInfo);
            }

            //Log.RecvLog(clientInfo.Sim, "recv", buffer, nDataLen);                                  // 写接收日志

            // 三相多功能表
            MeterInfo1 mMeterInfo1 = new MeterInfo1();

            mMeterInfo1.InsertTime = DateTime.Now.ToString();
            mMeterInfo1.MsgTime    = GetMsgTime(ref buffer, 9, 7);
            mMeterInfo1.GateId     = GetSimCard(buffer, 3);
            mMeterInfo1.MeterAddr  = GetMeterId(buffer);
            mMeterInfo1.RecvData   = MyHelper.ByteArray2HexStr(buffer, nDataLen);

            // ClientInfoCommon.AddMsg(mMeterInfo1);
            Log.RecvLog(clientInfo.Sim, "recv MsgTime:" + mMeterInfo1.MsgTime + " meterId:" + mMeterInfo1.MeterAddr, MyHelper.ByteArray2HexStr(buffer, nDataLen));
            ReplyClient(ref clientInfo, buffer, nDataLen);
            ClientInfoCommon.MsgUpdate(mMeterInfo1);        // 更新数据到内存缓存

            return(0);
        }       // End of ParseRealDataProtocal()