Esempio n. 1
0
        /// <summary>
        /// 数据库实体转换
        /// </summary>
        /// <param name="baseEntity"></param>
        /// <returns></returns>
        public override BaseEntity ConvertEntity(BYDQBaseEntity baseEntity)
        {
            var entity   = baseEntity as RemoteDebugDownEntity;
            var protocol = new RemoteDebugDown();

            protocol.Encryption             = Convert.ToByte(entity.Encryption);
            protocol.Type                   = Convert.ToByte(entity.Type);
            protocol.CMD                    = Convert.ToByte(entity.CMD);
            protocol.FunctionCode           = (ushort)entity.FunctionNumber;
            protocol.ResponseSign           = Convert.ToByte(entity.ResponseSign);
            protocol.FunctionStatus         = Convert.ToByte(entity.FunctionStatus);
            protocol.UniqueIdentity         = entity.UniqueIdentity;
            protocol.ProductType            = Convert.ToByte(entity.ProductType);
            protocol.CloudProductCode       = Convert.ToByte(entity.CloudProductCode);
            protocol.TimeStamp              = (ulong)BytesExtend.ConvertDataTimeToLong(entity.Time);
            protocol.UUID                   = entity.UUID;
            protocol.CNT                    = Convert.ToByte(entity.CNT);
            protocol.SEQ                    = Convert.ToByte(entity.SEQ);
            protocol.CNT                    = Convert.ToByte(entity.CNT);
            protocol.SEQ                    = Convert.ToByte(entity.SEQ);
            protocol.DiagnosticDataType     = Convert.ToByte(entity.DiagnosticDataType);
            protocol.SecurityAuthentication = Convert.ToByte(entity.SecurityAuthentication);
            protocol.DiagnosticMode         = Convert.ToByte(entity.DiagnosticMode);
            protocol.SendCANID              = (uint)entity.SendCANID;
            protocol.RecCANID               = (uint)entity.RecCANID;
            protocol.FrameType              = Convert.ToByte(entity.FrameType);
            protocol.KeyK                   = (uint)entity.KeyK;
            protocol.SIDCNT                 = Convert.ToByte(entity.SIDCNT);
            protocol.DataUnitList           = ProtoBufSerialize.Deserialize <List <DiagnosticDataDown> >(entity.DiagnosticDataList, 0, entity.DiagnosticDataList.Length);
            return(protocol);
        }
Esempio n. 2
0
        /// <summary>
        /// 生成数据库实体
        /// </summary>
        /// <param name="baseEntity"></param>
        /// <returns></returns>
        public override DbCaches.Entities.BYDQBaseEntity CreatEntity(BaseEntity baseEntity)
        {
            var protocol = baseEntity as RemoteDebugDown;
            var entity   = new RemoteDebugDownEntity();

            entity.Encryption             = protocol.Encryption;
            entity.Type                   = protocol.Type;
            entity.CMD                    = protocol.CMD;
            entity.FunctionNumber         = (int)protocol.FunctionCode;
            entity.ResponseSign           = protocol.ResponseSign;
            entity.FunctionStatus         = protocol.FunctionStatus;
            entity.UniqueIdentity         = protocol.UniqueIdentity;
            entity.ProductType            = protocol.ProductType;
            entity.CloudProductCode       = protocol.CloudProductCode;
            entity.TimeStamp              = protocol.TimeStamp.ToString();
            entity.Time                   = BytesExtend.ConvertLongToDateTime(long.Parse(protocol.TimeStamp.ToString()));
            entity.UUID                   = protocol.UUID;
            entity.CNT                    = (int)protocol.CNT;
            entity.SEQ                    = (int)protocol.SEQ;
            entity.DiagnosticDataType     = (int)protocol.DiagnosticDataType;
            entity.SecurityAuthentication = (int)protocol.SecurityAuthentication;
            entity.DiagnosticMode         = (int)protocol.DiagnosticMode;
            entity.SendCANID              = (int)protocol.SendCANID;
            entity.RecCANID               = (int)protocol.RecCANID;
            entity.FrameType              = (int)protocol.FrameType;
            entity.KeyK                   = (int)protocol.KeyK;
            entity.SIDCNT                 = (int)protocol.SIDCNT;
            entity.DiagnosticDataList     = ProtoBufSerialize.Serialize(protocol.DataUnitList);//JsonConvert.SerializeObject(protocol.DataUnitList);
            return(entity);
        }
Esempio n. 3
0
        public override DbCaches.Entities.BYDQBaseEntity CreatEntity(BaseEntity baseEntity)
        {
            var protocol = baseEntity as RemoteDebugUP;
            var entity   = new RemoteDebugUPEntity();

            entity.Encryption       = protocol.Encryption;
            entity.Type             = protocol.Type;
            entity.CMD              = protocol.CMD;
            entity.FunctionNumber   = (int)protocol.FunctionCode;
            entity.ResponseSign     = protocol.ResponseSign;
            entity.FunctionStatus   = protocol.FunctionStatus;
            entity.UniqueIdentity   = protocol.UniqueIdentity;
            entity.ProductType      = protocol.ProductType;
            entity.CloudProductCode = protocol.CloudProductCode;
            entity.TimeStamp        = protocol.TimeStamp.ToString();
            entity.Time             = BytesExtend.ConvertLongToDateTime(long.Parse(protocol.TimeStamp.ToString()));
            entity.UUID             = protocol.UUID;
            entity.CNT              = (int)protocol.CNT;
            entity.SEQ              = (int)protocol.SEQ;
            entity.DiagnosticResult = (int)protocol.DiagnosticResult;
            entity.DiagnosticData   = ProtoBufSerialize.Serialize(protocol.DataUnitList);//JsonConvert.SerializeObject(protocol.DataUnitList);
            var strBase64 = protocol.DataUnitList.Aggregate(string.Empty, (current, diagnosticDataUp) => current + (ToHex(diagnosticDataUp.SIDDiagnosticResult) + ","));

            entity.DiagnosticDataToHex = strBase64.Substring(0, strBase64.Length - 1);
            return(entity);
        }
Esempio n. 4
0
        protected virtual BaseLogicEntity <TEntity> OnConvert(IFixBufferEntity entity)
        {
            var msg         = ProtoBufSerialize.Deserialize <CommandMsg>(entity.Buffer, entity.Offset, entity.Length);
            var logicEntity = OnConvert(msg);

            logicEntity.FindKey = FindKey;
            return(logicEntity);
        }
Esempio n. 5
0
        protected override void OnConvert(BufferEntity cEntity, BaseLogicEntity <BaseEntity> lEntity)
        {
            var msg    = OnConvert(lEntity.Entity);//lEntity.Entity;
            var caches = ProtoBufSerialize.Serialize(msg);

            // 创建通信实体
            InitilizeBuffer(cEntity, caches);
        }
Esempio n. 6
0
            public void SendACTION_BUZHANG(PB_Client_BuZhang item)//命令ID: ,补张
            {
                byte[] temp = ProtoBufSerialize <PB_Client_BuZhang> .Serialize(item);

                NET_KWX.Instance_.SendDATA(new BufferData()
                {
                    Cmd = (int)ClientProtocol.Client_Protocol_Player_Bu_Zhang, Buf = temp
                });
            }
Esempio n. 7
0
            public void SendACTION_SendReady(PB_Client_Player_Ready item)//命令ID: ,准备
            {
                byte[] temp = ProtoBufSerialize <PB_Client_Player_Ready> .Serialize(item);

                NET_KWX.Instance_.SendDATA(new BufferData()
                {
                    Cmd = (int)ClientProtocol.Client_Protocol_Player_Ready, Buf = temp
                });
            }
Esempio n. 8
0
            public void SendACTION_GANG(PB_Client_GangCard item)//命令ID: ,杠牌
            {
                byte[] temp = ProtoBufSerialize <PB_Client_GangCard> .Serialize(item);

                NET_KWX.Instance_.SendDATA(new BufferData()
                {
                    Cmd = (int)ClientProtocol.Client_Protocol_Player_Gang_Card, Buf = temp
                });
            }
Esempio n. 9
0
        public void SendTalkMessage(CMD_Message item)//命令ID:4,聊天信息(包括文字、表情、语音等)
        {
            byte[] temp = ProtoBufSerialize <CMD_Message> .Serialize(item);

            NET_KWX.Instance_.SendDATA(new BufferData()
            {
                Cmd = 4, Buf = temp
            });
        }
Esempio n. 10
0
        public void SendLoginGameServer(CMD_LoginServer item)//命令ID:2,登录到游戏服务器
        {
            byte[] temp = ProtoBufSerialize <CMD_LoginServer> .Serialize(item);

            NET_KWX.Instance_.SendDATA(new BufferData()
            {
                Cmd = 2, Buf = temp
            });
        }
Esempio n. 11
0
        public void SendACTION_SendDismiss(CMD_Dismiss item)//命令ID: 6,申请解散房间
        {
            byte[] temp = ProtoBufSerialize <CMD_Dismiss> .Serialize(item);

            NET_KWX.Instance_.SendDATA(new BufferData()
            {
                Cmd = 6, Buf = temp
            });
        }
Esempio n. 12
0
            public void SendACTION_HDP(PB_Client_HDP item)//命令ID: ,海底牌
            {
                byte[] temp = ProtoBufSerialize <PB_Client_HDP> .Serialize(item);

                NET_KWX.Instance_.SendDATA(new BufferData()
                {
                    Cmd = (int)ClientProtocol.Client_Protocol_Player_HDP, Buf = temp
                });
            }
Esempio n. 13
0
        public void SendLoginGame(CMD_Login item, Action Act)//登陆游戏
        {
            byte[] temp = ProtoBufSerialize <CMD_Login> .Serialize(item);

            LOGINitem     = new BufferData();
            LOGINitem.Cmd = 1;
            LOGINitem.Buf = temp;
            NET_KWX.Instance_.LoginSendDate(1, temp, LOGINitem);
        }
Esempio n. 14
0
            public void SendACTION_GUOPAI(PB_Client_Pass item)//命令ID: ,过牌
            {
                byte[] temp = ProtoBufSerialize <PB_Client_Pass> .Serialize(item);

                NET_KWX.Instance_.SendDATA(new BufferData()
                {
                    Cmd = (int)ClientProtocol.Client_Protocol_Player_Pass_Card, Buf = temp
                });
            }
Esempio n. 15
0
        public void SendExitRoom()//命令ID:3,请求退出房间
        {
            CMD_ExitRoom t = new CMD_ExitRoom();

            byte[] temp = ProtoBufSerialize <CMD_ExitRoom> .Serialize(t);

            NET_KWX.Instance_.SendDATA(new BufferData()
            {
                Cmd = 3, Buf = temp
            });
        }
Esempio n. 16
0
        public void SendHeartBeat(CMD_HeartBeat item)//命令ID:1 心跳包
        {
            if (NET_KWX.Instance_.mtcpClient.Connected && NET_KWX.Instance_.GetCurSTATE == CurSocket.Game_)
            {
                byte[] temp = ProtoBufSerialize <CMD_HeartBeat> .Serialize(item);

                NET_KWX.Instance_.SendDATA(new BufferData()
                {
                    Cmd = 1, Buf = temp
                });
            }
        }
Esempio n. 17
0
        public static void DispathMssage(BufferData Msg) //消息分发
        {
            Debuger.Log("收到大厅主命令:" + Msg.Cmd);           //-1000代表链接服务器成功
            switch (Msg.Cmd)
            {
            case -1000:
            {
                if (KWXFrom.GetIns.Login_ != null)
                {
                    KWXFrom.GetIns.Login_.LinkLoginServerOK();
                }
            }
            break;

            case 1:
            {
                RSP_Login result = ProtoBufSerialize <RSP_Login> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Login_ != null)
                {
                    KWXFrom.GetIns.Login_.LoginOK(result);
                }
            }
            break;

            case 2:
            {
                KWXFrom.GetIns.DisConnet();
                RSP_CreateRoom result = ProtoBufSerialize <RSP_CreateRoom> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Login_ != null)
                {
                    KWXFrom.GetIns.Login_.EntCartRoom(result);
                }
            }
            break;

            case 3:
            {
                KWXFrom.GetIns.DisConnet();
                RSP_EnterRoom result = ProtoBufSerialize <RSP_EnterRoom> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Login_ != null)
                {
                    KWXFrom.GetIns.Login_.EntRoom(result);
                }
            }
            break;

            default:
                break;
            }
        }
Esempio n. 18
0
 protected override FromIncomBufferEntity OnConvert(IFixBufferEntity communicationEntity)
 {
     try
     {
         var proEntity = ProtoBufSerialize.Deserialize <BaseEntity>(communicationEntity.Buffer, communicationEntity.Offset, communicationEntity.Length);
         //获取解析字典
         return(BaseEntityToBuffer(proEntity));
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Esempio n. 19
0
        static void Main(string[] args)
        {
            Debuger.EnableLog = 1;
            PB_Client_DealCard act = new PB_Client_DealCard();

            act.card_value = 4294967295;
            byte[] temp = ProtoBufSerialize <PB_Client_DealCard> .Serialize(act);

            Debuger.Log(temp.Length);
            PB_Client_DealCard result = ProtoBufSerialize <PB_Client_DealCard> .DeSerialize(temp);

            Debuger.Log(result.card_value);
            //TestFrom test = new TestFrom();
            Console.ReadLine();
        }
Esempio n. 20
0
        static void Dis_1000_MAX(BufferData Msg)
        {
            switch ((ServerProtocol)Msg.Cmd)
            {
            case ServerProtocol.Server_Protocol_Room_Info:
            {
                PB_Server_Room_Info result = ProtoBufSerialize <PB_Server_Room_Info> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.OnGAME_STATE(result);
                }
            }
            break;

            case ServerProtocol.Server_Protocol_Single_Bill:
            {
                PB_Server_Single_Bill result = ProtoBufSerialize <PB_Server_Single_Bill> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.OnSingleResult(result);
                }
            }
            break;

            case ServerProtocol.Server_Protocol_All_Bill:
            {
                PB_Server_ALL_Bill_Info result = ProtoBufSerialize <PB_Server_ALL_Bill_Info> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.OnAllResult(result);
                }
            }
            break;

            default:
                break;
            }
        }
Esempio n. 21
0
        /// <summary>
        /// 数据库实体转换
        /// </summary>
        /// <param name="baseEntity"></param>
        /// <returns></returns>
        public override BaseEntity ConvertEntity(BYDQBaseEntity baseEntity)
        {
            var entity   = baseEntity as DataMonitorEntity;
            var protocol = new DataMonitor();

            protocol.Encryption       = Convert.ToByte(entity.Encryption);
            protocol.Type             = Convert.ToByte(entity.Type);
            protocol.CMD              = Convert.ToByte(entity.CMD);
            protocol.FunctionCode     = (ushort)entity.FunctionNumber;
            protocol.ResponseSign     = Convert.ToByte(entity.ResponseSign);
            protocol.FunctionStatus   = Convert.ToByte(entity.FunctionStatus);
            protocol.UniqueIdentity   = entity.UniqueIdentity;
            protocol.ProductType      = Convert.ToByte(entity.ProductType);
            protocol.CloudProductCode = Convert.ToByte(entity.CloudProductCode);
            protocol.TimeStamp        = (ulong)BytesExtend.ConvertDataTimeToLong(entity.Time);
            protocol.UUID             = entity.UUID;
            protocol.SignType         = Convert.ToByte(entity.SignType);
            protocol.CNT              = (ushort)entity.DbCNT;
            protocol.SEQ              = (ushort)entity.DbSEQ;
            protocol.DataUnitList     = ProtoBufSerialize.Deserialize <List <CanMessageData> >(entity.CanMessageData, 0, entity.CanMessageData.Length);
            return(protocol);
        }
Esempio n. 22
0
        /// <summary>
        /// 生成数据库实体
        /// </summary>
        /// <param name="baseEntity"></param>
        /// <returns></returns>
        public override BYDQBaseEntity CreatEntity(BaseEntity baseEntity)
        {
            var protocol = baseEntity as DataMonitor;
            var entity   = new DataMonitorEntity();

            entity.Encryption       = protocol.Encryption;
            entity.Type             = protocol.Type;
            entity.CMD              = protocol.CMD;
            entity.FunctionNumber   = (int)protocol.FunctionCode;
            entity.ResponseSign     = protocol.ResponseSign;
            entity.FunctionStatus   = protocol.FunctionStatus;
            entity.UniqueIdentity   = protocol.UniqueIdentity;
            entity.ProductType      = protocol.ProductType;
            entity.CloudProductCode = protocol.CloudProductCode;
            entity.TimeStamp        = protocol.TimeStamp.ToString();
            entity.Time             = BytesExtend.ConvertLongToDateTime(long.Parse(protocol.TimeStamp.ToString()));
            entity.UUID             = protocol.UUID;
            entity.SignType         = protocol.SignType;
            entity.DbCNT            = (int)protocol.CNT;
            entity.DbSEQ            = (int)protocol.SEQ;
            entity.CanMessageData   = ProtoBufSerialize.Serialize(protocol.DataUnitList);//JsonConvert.SerializeObject(protocol.DataUnitList);
            return(entity);
        }
Esempio n. 23
0
        public override BaseEntity ConvertEntity(BYDQBaseEntity baseEntity)
        {
            var entity   = baseEntity as RemoteDebugUPEntity;
            var protocol = new RemoteDebugUP();

            protocol.Encryption       = Convert.ToByte(entity.Encryption);
            protocol.Type             = Convert.ToByte(entity.Type);
            protocol.CMD              = Convert.ToByte(entity.CMD);
            protocol.FunctionCode     = (ushort)entity.FunctionNumber;
            protocol.ResponseSign     = Convert.ToByte(entity.ResponseSign);
            protocol.FunctionStatus   = Convert.ToByte(entity.FunctionStatus);
            protocol.UniqueIdentity   = entity.UniqueIdentity;
            protocol.ProductType      = Convert.ToByte(entity.ProductType);
            protocol.CloudProductCode = Convert.ToByte(entity.CloudProductCode);
            protocol.TimeStamp        = (ulong)BytesExtend.ConvertDataTimeToLong(entity.Time);
            protocol.UUID             = entity.UUID;
            protocol.CNT              = Convert.ToByte(entity.CNT);
            protocol.SEQ              = Convert.ToByte(entity.SEQ);
            protocol.CNT              = Convert.ToByte(entity.CNT);
            protocol.SEQ              = Convert.ToByte(entity.SEQ);
            protocol.DiagnosticResult = Convert.ToByte(entity.DiagnosticResult);
            protocol.DataUnitList     = ProtoBufSerialize.Deserialize <List <DiagnosticDataUP> >(entity.DiagnosticData, 0, entity.DiagnosticData.Length);
            return(protocol);
        }
Esempio n. 24
0
        public void SendCreatRoom(CMD_CreateRoom item)//创建房间
        {
            byte[] temp = ProtoBufSerialize <CMD_CreateRoom> .Serialize(item);

            NET_KWX.Instance_.LoginSendDate(2, temp, LOGINitem);
        }
Esempio n. 25
0
        public void SendEntRoom(CMD_EnterRoom item)//进入房间
        {
            byte[] temp = ProtoBufSerialize <CMD_EnterRoom> .Serialize(item);

            NET_KWX.Instance_.LoginSendDate(3, temp, LOGINitem);
        }
Esempio n. 26
0
        static void Dis_1_1000(BufferData Msg)
        {
            switch (Msg.Cmd)
            {
            case -1000:    //链接服务器成功
            {
                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.LinkGameServerOK();
                }
            }
            break;

            case 1:
            {
                RSP_HeartBeat result = ProtoBufSerialize <RSP_HeartBeat> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.HearBeat(result);
                }
            }
            break;

            case 2:
            {
                RSP_LoginServer result = ProtoBufSerialize <RSP_LoginServer> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.EntServer(result);
                }
            }
            break;

            case 3:
            {
                RSP_ExitRoom result = ProtoBufSerialize <RSP_ExitRoom> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.ExitRoom(result);
                }
            }
            break;

            case 101:    //命令ID: 101,房间内的用户信息
            {
                NTF_RoomUserInfo result = ProtoBufSerialize <NTF_RoomUserInfo> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.OnRoomUserInfo(result);
                }
            }
            break;

            case 102:    //命令ID:102,相同用户已在另一地点登录,当前用户已被迫下线
            {
                NTF_SameUserLogin result = ProtoBufSerialize <NTF_SameUserLogin> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.OnSameUserLogin(result);
                }
            }
            break;

            case 103:    //命令ID: 103,房间内的用户上线
            {
                NTF_RoomUserOnline result = ProtoBufSerialize <NTF_RoomUserOnline> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.OnRoomUserOnline(result);
                }
            }
            break;

            case 104:    //命令ID: 104,房间内的用户离线
            {
                NTF_RoomUserOffline result = ProtoBufSerialize <NTF_RoomUserOffline> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.OnRoomUserOffline(result);
                }
            }
            break;

            case 105:    //命令ID: 105,房间已解散
            {
                NTF_RoomDismissed result = ProtoBufSerialize <NTF_RoomDismissed> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.OnRoomDismissed(result);
                }
            }
            break;

            case 106:    //命令ID: 106,聊天信息
            {
                NTF_Message result = ProtoBufSerialize <NTF_Message> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.OnMessage(result);
                }
            }
            break;

            case 107:    //命令ID: 107,解散信息
            {
                NTF_Dismiss result = ProtoBufSerialize <NTF_Dismiss> .DeSerialize(Msg.Buf);

                if (KWXFrom.GetIns.Game_ != null)
                {
                    KWXFrom.GetIns.Game_.DismisseMessage(result);
                }
            }
            break;

            default:
                Debuger.Log("未解析的主命令" + Msg.Cmd);
                break;
            }
        }