public System.Object RPCGetMethordExecuter(int limitLevel, Iocp.NetConnection connect, int Index, RPCObject obj, PackageProxy pkg, RPCForwardInfo fwd) { if (mMethods[Index] == null) { System.Diagnostics.Debug.WriteLine("RPCGetMethordExecuter Indexer Over Ranged:" + Index); return(null); } if (limitLevel < mMethods[Index].LimitLevel) { //此处应该记录有人越权调用函数 RPCPlanesServerSpecialRoot cb = RPCNetworkMgr.Instance.mPlanesServerSpecialRoot; if (cb == null) { Log.Log.Common.Print("发现有超越权限的函数调用({0})", mMethods[Index].mMethodName); System.Diagnostics.Debug.WriteLine("发现有超越权限的函数调用({0})", mMethods[Index].mMethodName); } else { System.String str = cb.GetPlayerInfoString(fwd); Log.Log.Common.Print("发现有超越权限的函数调用({0}:{1})", mMethods[Index].mMethodName, str); System.Diagnostics.Debug.WriteLine("发现有超越权限的函数调用({0}:{1})", mMethods[Index].mMethodName, str); } return(null); } return(mMethods[Index].Execute(connect, obj, pkg, fwd)); }
public void RPC_CreateTeam(ulong roleId, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter pkg = new RPC.PackageWriter(); var role = GetRole(roleId); if (role == null) { pkg.Write((sbyte)CSCommon.eRet_Team.NoRole); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.TeamHeaderId != 0) { pkg.Write((sbyte)CSCommon.eRet_Team.RoleHasTeam); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (_CreateTeam(roleId) == false) { pkg.Write((sbyte)CSCommon.eRet_Team.NewTeamError); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (_AddTeam(role, roleId) == false) { pkg.Write((sbyte)CSCommon.eRet_Team.OverTeamCount); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } pkg.Write((sbyte)CSCommon.eRet_Team.Succeed); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public void RPC_GetRoleGirdByType(ulong roleId, byte itemType, byte page, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter pkg = new RPC.PackageWriter(); var role = GetRole(roleId); if (role == null) { pkg.Write((sbyte)-1); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } pkg.Write((sbyte)1); byte pageNum = 5; int start = (page - 1) * pageNum; string strSQL = "select * from ConsignGirdData where Type = " + itemType.ToString() + "limit start,pageNum"; List <CSCommon.Data.ConsignGridData> datas = SelectGird(strSQL); int count = datas.Count; pkg.Write(count); for (int i = 0; i < count; i++) { pkg.Write(datas[i]); } pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public void RPC_LeaveGuild(ulong roleId, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter retPkg = new RPC.PackageWriter(); var role = GetRole(roleId); if (role == null) { retPkg.Write((sbyte)CSCommon.eRet_LeaveGuild.NoRole); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.RoleData.GuildId == 0 || role.GuildInstance == null) { retPkg.Write((sbyte)CSCommon.eRet_LeaveGuild.RoleNoGuild); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.RoleData.GuildPost == (byte)CSCommon.eGuildPost.BangZhu) { retPkg.Write((sbyte)CSCommon.eRet_LeaveGuild.RoleIsBangZhu); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } retPkg.Write((sbyte)CSCommon.eRet_LeaveGuild.Succeed); LeaveGuild(role); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public void RPC_DonateGold(ulong roleId, int gold, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter retPkg = new RPC.PackageWriter(); var role = GetRole(roleId); if (role == null) { retPkg.Write((sbyte)CSCommon.eRet_DonateGold.NoRole); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.GuildInstance == null) { retPkg.Write((sbyte)CSCommon.eRet_DonateGold.RoleNoGuild); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } role.GuildInstance.GuildData.GuildGold += (ulong)gold; int contribute = (int)gold;//贡献换算公式未定 AddRoleGuildContribute(role, contribute); retPkg.Write((sbyte)CSCommon.eRet_DonateGold.Succeed); retPkg.Write(role.RoleData.TodayGuildContribute); retPkg.Write(role.RoleData.GuildContribute); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public UInt16 RegPlanesServer(ulong id, Iocp.NetConnection connect) { if (id == 0) { Log.Log.Server.Print("RegPlanesServer id is Empty"); } ServerInfo si = connect.m_BindData as ServerInfo; si.Id = id; Iocp.TcpConnect tcpConnect = connect as Iocp.TcpConnect; si.Ip = tcpConnect.IpAddress; si.LinkNumber = 0; mPlanesServers[connect] = si; Log.Log.Server.Print("Planes服务器{0}注册,{1}:{2}", si.Id, si.Ip, si.Port); foreach (var i in mGateServers) { //i.Value.Connect RPC.PackageWriter pkg = new RPC.PackageWriter(); H_RPCRoot.smInstance.HGet_GateServer(pkg).NewPlanesServerStarted(pkg); pkg.DoCommand(i.Value.Connect, RPC.CommandTargetType.DefaultType); } return(si.Port); }
public void RPC_BuyConsignItem(ulong roleId, ulong itemId, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter pkg = new RPC.PackageWriter(); var role = GetRole(roleId); if (role == null) { pkg.Write((sbyte)CSCommon.eRet_BuyConsignItem.NoRole); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } var gird = GetGird(itemId); if (gird == null) { pkg.Write((sbyte)CSCommon.eRet_BuyConsignItem.NoItem); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } string items = GetStr(gird.TemplateId, gird.StackNum); CreateMailAndSend(roleId, CSCommon.eMailFromType.BuyConsignSucceed, "", items); DB_DelGird(gird); pkg.Write((sbyte)CSCommon.eRet_BuyConsignItem.Succeed); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
ServerInfo AllocServerPort(string ip, Iocp.NetConnection connect) { lock (this) { foreach (var i in mServerPorts) { if (i.Connect == connect) { return(i); } } foreach (var i in mServerPorts) { if (i.Connect == null) { i.Ip = ip; i.Connect = connect; i.LinkNumber = 0; return(i); } } return(null); } }
public void RPC_RandRoleName(Byte sex, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter pkg = new RPC.PackageWriter(); string name = _RandRoleName(sex); pkg.Write(name); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public void RPC_GetOffPlayerData(ulong roleId, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter pkg = new RPC.PackageWriter(); var getRole = GetRoleRand(); pkg.Write(getRole.RoleData); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public RPC.DataWriter RegPlanesServer(string ip, UInt16 port, ulong id, Iocp.NetConnection connect) { ServerFrame.NetEndPoint nep = new ServerFrame.NetEndPoint(ip, port); nep.Id = id; nep.Connect = connect; PlanesServerInfo oldnep; if (mPlanesServers.TryGetValue(connect, out oldnep) == true) { mPlanesServers[connect].EndPoint = nep; } else { oldnep = new PlanesServerInfo(); oldnep.EndPoint = nep; mPlanesServers.Add(connect, oldnep); } Log.Log.Server.Print("yzb id = {0}", id); RPC.DataWriter lret = new RPC.DataWriter(); //启动该planesserver对应的世界地图和国战地图 AllMapManager.Instance.StartupWorldMap((int)id); //位面信息 int count = this.PlanesMgr.Planes.Count; lret.Write(count); Log.Log.Server.Print("count = {0}", count); foreach (var i in this.PlanesMgr.Planes) { lret.Write(i.Value.PlanesId); lret.Write(i.Value.PlanesName); } count = 0; //将要启动的地图id返回给PlanesServer if (CSCommon.Data.CDbConfig.m_PlanesConfig.ContainsKey((int)id)) { count = CSCommon.Data.CDbConfig.m_PlanesConfig[(int)id].ListMap.Count; lret.Write(count); Log.Log.Server.Print("map count = {0}", count); foreach (CSCommon.Data.CAreaMap lAreaMap in CSCommon.Data.CDbConfig.m_PlanesConfig[(int)id].ListMap) { lret.Write(lAreaMap.Area); lret.Write(lAreaMap.Map); } } else { lret.Write(count); Log.Log.Server.Print("map count 0 = {0}", count); } return(lret); }
public void RPC_InviteToGuild(ulong roleId, string tarName, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter retPkg = new RPC.PackageWriter(); var role = GetRole(roleId); if (role == null) { retPkg.Write((sbyte)CSCommon.eRet_InviteToGuild.NoRole); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } var targetRole = GetRole(tarName); if (targetRole == null) { retPkg.Write((sbyte)CSCommon.eRet_InviteToGuild.NoTargetRole); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.GuildInstance == null) { retPkg.Write((sbyte)CSCommon.eRet_InviteToGuild.RoleNoGuild); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (targetRole.GuildInstance != null) { retPkg.Write((sbyte)CSCommon.eRet_InviteToGuild.TargetRoleHasGuild); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.RoleData.GuildPost <= (byte)CSCommon.eGuildPost.JingYing) { retPkg.Write((sbyte)CSCommon.eRet_InviteToGuild.RoleNoPower); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (targetRole.PlanesConnect == null) { retPkg.Write((sbyte)CSCommon.eRet_InviteToGuild.TargetRoleNotInPlay); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.GuildInstance.GuildData.MemberNum >= CSCommon.GuildCommon.Instance.GuildLvUpList[role.GuildInstance.GuildData.Level - 1].MaxMemberNum) { retPkg.Write((sbyte)CSCommon.eRet_InviteToGuild.OverMaxNum); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } retPkg.Write((sbyte)CSCommon.eRet_InviteToGuild.Succeed); CSCommon.Data.Message msg = CreateMessage(CSCommon.eMessageFrom.Guild, CSCommon.eMessageType.Guild_Invite, role.RoleData.Name, targetRole.RoleData.RoleId); msg.ShowInfo = string.Format("玩家{0}邀请您加入{1}帮会", role.RoleData.Name, role.GuildInstance.GuildData.GuildName); SendMessageToOther(targetRole, msg); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public void SetGateLinkNumber(Iocp.NetConnection connect, int num) { ServerInfo serverInfo; if (mGateServers.TryGetValue(connect, out serverInfo) == true) { serverInfo.LinkNumber = num; } }
public void UpdatePlanesServerPlayerNumber(int num, Iocp.NetConnection connect) { PlanesServerInfo info; if (PlanesServers.TryGetValue(connect, out info)) { info.PlayerNumber = num; } }
public void RPC_GetTopAndFriend(ulong roleId, ushort planesId, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter pkg = new RPC.PackageWriter(); TopList.Clear(); FriendList.Clear(); var role = this.GetRole(roleId); if (role == null) { Log.Log.Server.Print("RPC_GetTopAndFriend role is null , {0}", roleId); pkg.Write((sbyte)-1); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } pkg.Write((sbyte)1); InitVisitTimes(role); pkg.Write(role.RoleData.WorldVisitCount); pkg.Write(role.RoleData.FriendVisitCount); pkg.Write(role.RoleData.BuyVisitCount); pkg.Write(role.RoleData.ByVisitCount); List <RankData> rds = _GetFightTopPlayer(planesId); pkg.Write((byte)rds.Count); foreach (var i in rds) { pkg.Write(i.RoleId); pkg.Write(i.RoleName); if (role.VisitTopList.Contains(i.RoleId)) { pkg.Write((byte)CSCommon.eBoolState.True); } else { pkg.Write((byte)CSCommon.eBoolState.False); } TopList.Add(i.RoleId); } UpdateSocialInfoList(CSCommon.eSocialType.Friend, role); pkg.Write((byte)role.mSocialInfoList.Count); foreach (var j in role.mSocialInfoList.Values) { pkg.Write(j.id); pkg.Write(j.name); if (role.VisitFriendList.Contains(j.id)) { pkg.Write((byte)CSCommon.eBoolState.True); } else { pkg.Write((byte)CSCommon.eBoolState.False); } FriendList.Add(j.id); } pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public UInt16 RegPathFindServer(string ListenIp, ulong id, Iocp.NetConnection connect) { ServerInfo si = connect.m_BindData as ServerInfo; si.Id = id; si.Ip = ListenIp; si.LinkNumber = 0; PathFindServers[connect] = si; return(si.Port); }
public void SYS_ReloadSellerTemplate(UInt16 item, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { // CSCommon.Data.Item.ItemSellerTemplateManager.Instance.LoadItem(item); // // RPC.PackageWriter pkg = new RPC.PackageWriter(); // H_RPCRoot.smInstance.HGet_PlanesServer(pkg).SYS_ReloadSellerTemplate(pkg, item); // foreach (var i in PlanesServers) // { // pkg.DoCommand(i.Value.EndPoint.Connect, RPC.CommandTargetType.DefaultType); // } }
public void RPC_OneKeyDelMails(ulong roleId, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter pkg = new RPC.PackageWriter(); if (DB_DelMails(roleId) == false) { pkg.Write((sbyte)-1); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } pkg.Write((sbyte)1); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public UInt16 RegGateServer(string ipAddress, ulong id, Iocp.NetConnection connect) { ServerInfo si = connect.m_BindData as ServerInfo; si.Id = id; si.Ip = ipAddress; si.LinkNumber = 0; mGateServers[connect] = si; Log.Log.Server.Print("Gate服务器{0}注册,{1}:{2}", si.Id, si.Ip, si.Port); return(si.Port); }
public void RPC_GetGuilds(ulong roleId, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter retPkg = new RPC.PackageWriter(); retPkg.SetSinglePkg(); var role = GetRole(roleId); if (role == null) { retPkg.Write((sbyte)CSCommon.eRet_GetGuilds.NoRole); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.RoleData.GuildId == 0)//没有帮会,返回帮会列表信息 { retPkg.Write((sbyte)CSCommon.eRet_GetGuilds.ReturnGuilds); List <CSCommon.Data.GuildCom> guilds = new List <CSCommon.Data.GuildCom>(); foreach (var guild in GuildManager.Instance.Guilds) { if (guild.Value.GuildData.PlanesId == role.RoleData.PlanesId && guild.Value.GuildData.Camp == role.RoleData.Camp) { guilds.Add(guild.Value.GuildData); } } int count = guilds.Count; retPkg.Write(count); foreach (var i in guilds) { retPkg.Write(i); } } else //有帮会,返回帮会成员信息 { if (role.GuildInstance == null) { Log.Log.Guild.Print("role.GuildInstance is null {0}", role.RoleData.GuildId); retPkg.Write((sbyte)CSCommon.eRet_GetGuilds.NoGuild); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } else { retPkg.Write((sbyte)CSCommon.eRet_GetGuilds.ReturnGuildMembers); retPkg.Write(role.GuildInstance.GuildData); retPkg.Write(role.GuildInstance.Members.Count); foreach (var member in role.GuildInstance.Members) { retPkg.Write(member.Value.RoleData); } } } retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public void RPC_OperateTeamAsk(ulong roleId, string otherName, byte operate, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter pkg = new RPC.PackageWriter(); var role = GetRole(roleId); if (role == null) { pkg.Write((sbyte)CSCommon.eRet_Team.NoRole); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.TeamHeaderId != roleId) { pkg.Write((sbyte)CSCommon.eRet_Team.RoleIsNotHeader); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } var other = GetRole(otherName); if (other == null) { pkg.Write((sbyte)CSCommon.eRet_Team.NoOther); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (operate == (byte)CSCommon.eOperateAsk.Refuse) { var msg = CreateMessage(CSCommon.eMessageFrom.Team, CSCommon.eMessageType.Team_AskRefuse, role.RoleData.Name, other.RoleData.RoleId); msg.ShowInfo = string.Format("{0}拒绝了你的申请", role.RoleData.Name); SendMessageToOther(other, msg); } else if (operate == (byte)CSCommon.eOperateAsk.Accept) { if (other.TeamHeaderId != 0) { pkg.Write((sbyte)CSCommon.eRet_Team.OtherHasTeam); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (_AddTeam(other, roleId) == false) { pkg.Write((sbyte)CSCommon.eRet_Team.OverTeamCount); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } var msg = CreateMessage(CSCommon.eMessageFrom.Team, CSCommon.eMessageType.Team_AskAgree, role.RoleData.Name, other.RoleData.RoleId); msg.ShowInfo = string.Format("{0}同意了你的申请", role.RoleData.Name); SendMessageToOther(other, msg); } pkg.Write((sbyte)CSCommon.eRet_Team.Succeed); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public void RPC_OneKeyGetItems(ulong roleId, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter pkg = new RPC.PackageWriter(); List <CSCommon.Data.MailData> mails = GetMailsWithItems(roleId); pkg.Write(mails.Count); for (int i = 0; i < mails.Count; i++) { pkg.Write(mails[i]); } mails.Clear(); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public RPCWaitHandle WaitDoClient2PlanesPlayer(Iocp.NetConnection conn, float timeOut) { PkgType = PackageType.PKGT_C2P_Player_SendAndWait; if (RPCManager == null) { RPCManager = RPCNetworkMgr.Instance; } RPCWaitHandle handle = RPCManager.NewWaitHandleTimeOut(null, timeOut); SerialId = handle.CallID; SendBuffer(conn); return(handle); }
public void RPC_KickedOutGuild(ulong roleId, ulong targetId, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter retPkg = new RPC.PackageWriter(); var role = GetRole(roleId); if (role == null) { retPkg.Write((sbyte)CSCommon.eRet_KickedOutGuild.NoRole); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } var targetRole = GetRole(targetId); if (targetRole == null) { retPkg.Write((sbyte)CSCommon.eRet_KickedOutGuild.NoTargetRole); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.GuildInstance == null) { retPkg.Write((sbyte)CSCommon.eRet_KickedOutGuild.RoleNoGuild); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (targetRole.GuildInstance == null) { retPkg.Write((sbyte)CSCommon.eRet_KickedOutGuild.TargetRoleNoGuild); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.RoleData.GuildPost <= (byte)CSCommon.eGuildPost.JingYing) { retPkg.Write((sbyte)CSCommon.eRet_KickedOutGuild.RoleNoPower); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } if (role.RoleData.GuildPost <= targetRole.RoleData.GuildPost) { retPkg.Write((sbyte)CSCommon.eRet_KickedOutGuild.RolePostLowTarget); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } LeaveGuild(targetRole); //邮件形式 CreateMailAndSend(targetId, CSCommon.eMailFromType.KickedOutGuild, role.GuildInstance.GuildData.GuildName); retPkg.Write((sbyte)CSCommon.eRet_KickedOutGuild.Succeed); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public void RPC_GetMailItems(ulong mailId, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter pkg = new RPC.PackageWriter(); CSCommon.Data.MailData mail = DB_GetMail(mailId); if (mail == null) { pkg.Write((sbyte)-1); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } pkg.Write((sbyte)1); pkg.Write(mail); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public void DoReturnCommand(Iocp.NetConnection conn, CommandTargetType target) { switch (target) { case CommandTargetType.DefaultType: PkgType = PackageType.PKGT_Return; break; case CommandTargetType.Planes: PkgType = PackageType.PKGT_C2P_Return; break; } SendBuffer(conn); }
public SByte RegLogServer(string ListenIp, UInt16 ListenPort, ulong id, Iocp.NetConnection connect) { if (mLogServer != null) { Iocp.TcpConnect conn = mLogServer.Connect as Iocp.TcpConnect; if (conn != null) {//Log服务器是唯一的,起来一个就要把另外一个踢下线 conn.Disconnect(); } } mLogServer = new ServerFrame.NetEndPoint(ListenIp, ListenPort); mLogServer.Connect = connect; mLogServer.Id = id; return(1); }
public void RPC_OpenMail(ulong mailId, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter pkg = new RPC.PackageWriter(); CSCommon.Data.MailData mail = DB_GetMail(mailId); if (mail == null) { pkg.Write((sbyte)-1); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } mail.State = (byte)CSCommon.eMailState.Opened; DB_UpdateMail(mail); pkg.Write((sbyte)1); pkg.DoReturnCommand2(connect, fwd.ReturnSerialId); }
public void GetPlanesInfo(ushort planesId, Iocp.NetConnection connect, RPC.RPCForwardInfo fwd) { RPC.PackageWriter retPkg = new RPC.PackageWriter(); CSCommon.Data.PlanesData data; if (false == this.PlanesMgr.Planes.TryGetValue(planesId, out data)) { retPkg.Write((SByte)(-1)); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; } retPkg.Write((SByte)(1)); retPkg.Write(data); retPkg.DoReturnCommand2(connect, fwd.ReturnSerialId); return; }
public UInt16 RegComServer(string ListenIp, ulong id, Iocp.NetConnection connect) { ServerInfo si = connect.m_BindData as ServerInfo; si.Id = id; si.Ip = ListenIp; si.LinkNumber = 0; mComServer = new ServerFrame.NetEndPoint(ListenIp, si.Port); mComServer.Connect = connect; mComServer.Id = id; Log.Log.Server.Print("Com服务器{0}注册,{1}:{2}", id, ListenIp, si.Port); return(si.Port); }