/// <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); }
/// <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); }
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); }
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); }
protected override void OnConvert(BufferEntity cEntity, BaseLogicEntity <BaseEntity> lEntity) { var msg = OnConvert(lEntity.Entity);//lEntity.Entity; var caches = ProtoBufSerialize.Serialize(msg); // 创建通信实体 InitilizeBuffer(cEntity, caches); }
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 }); }
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 }); }
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 }); }
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 }); }
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 }); }
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 }); }
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 }); }
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); }
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 }); }
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 }); }
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 }); } }
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; } }
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); } }
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(); }
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; } }
/// <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); }
/// <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); }
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); }
public void SendCreatRoom(CMD_CreateRoom item)//创建房间 { byte[] temp = ProtoBufSerialize <CMD_CreateRoom> .Serialize(item); NET_KWX.Instance_.LoginSendDate(2, temp, LOGINitem); }
public void SendEntRoom(CMD_EnterRoom item)//进入房间 { byte[] temp = ProtoBufSerialize <CMD_EnterRoom> .Serialize(item); NET_KWX.Instance_.LoginSendDate(3, temp, LOGINitem); }
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; } }