public static bool InitializeClient(AutoCSer.Net.TcpInternalServer.ServerSocketSender socket, KuaFuClientContext clientInfo) { bool isLogin = false; try { if (clientInfo.ServerId != 0) { bool bFirstInit = false; int ret = ClientAgentManager.Instance().InitializeClient(clientInfo, out bFirstInit); if (ret > 0) { isLogin = true; socket.ClientObject = ClientAgentManager.Instance().GetCurrentClientAgent(clientInfo.ServerId); if (clientInfo.MapClientCountDict != null && clientInfo.MapClientCountDict.Count > 0) { KuaFuServerManager.UpdateKuaFuLineData(clientInfo.ServerId, clientInfo.MapClientCountDict); ClientAgentManager.Instance().SetMainlinePayload(clientInfo.ServerId, clientInfo.MapClientCountDict.Values.ToList <int>().Sum()); } } } else { LogManager.WriteLog(LogTypes.Error, string.Format("InitializeClient时GameType错误,禁止连接.ServerId:{0},GameType:{1}", clientInfo.ServerId, clientInfo.GameType), null, true); } } catch (Exception ex) { LogManager.WriteExceptionUseCache(string.Format("InitializeClient服务器ID重复,禁止连接.ServerId:{0},ClientId:{1},info:{2}", clientInfo.ServerId, clientInfo.ClientId, clientInfo.Token)); } return(isLogin); }
public static void UpdateKuaFuMapClientCount(AutoCSer.Net.TcpInternalServer.ServerSocketSender socket, int serverId, Dictionary <int, int> mapClientCountDict) { ClientAgent agent = socket.ClientObject as ClientAgent; if (mapClientCountDict != null && mapClientCountDict.Count > 0) { KuaFuServerManager.UpdateKuaFuLineData(agent.ClientInfo.ServerId, mapClientCountDict); ClientAgentManager.Instance().SetMainlinePayload(agent.ClientInfo.ServerId, mapClientCountDict.Values.ToList <int>().Sum()); } }