protected override void Run(Session session, M2C_MapUnitCreateAndDestroy message) { TestPlayerDataComponent testPlayerDataComponent = session.GetComponent <TestPlayerDataComponent>(); BenchmarkComponent benchmarkComponent = Game.Scene.GetComponent <BenchmarkComponent>(); if (benchmarkComponent.clients.TryGetValue(testPlayerDataComponent.testPlayerSetting.DeviceUniqueIdentifier, out var client)) { MapUnitBotModule roamingBotModule = client.GetComponent <MapUnitBotModule>(); if (!roamingBotModule.isEnableToStartGame) { roamingBotModule._m2cCache.Enqueue(message); } else { for (int i = 0; i < message.DestroyMapUnitIds.Count; i++) { roamingBotModule.SyncM2C_MapUnitDestroy(message.DestroyMapUnitIds[i]); } for (int i = 0; i < message.CreateMapUnitInfos.Count; i++) { roamingBotModule.SyncM2C_MapUnitCreate(message.CreateMapUnitInfos[i]); } } //client.UserLog($"M2C_MapUnitCreateAndDestroyHandler"); } }
public static async Task Send(this BenchmarkComponent self, Session session, int j) { try { var send = new C2S_UserLogin(); send.AccountId = 1; Log.Debug("发送"); await session.Call(send); Log.Debug("发送完成"); //++self.k; //if (self.k % 100000 != 0) //{ // return; //} //long time2 = TimeHelper.ClientNow(); //long time = time2 - self.time1; //self.time1 = time2; //Log.Info($"Benchmark k: {self.k} 每10W次耗时: {time} ms"); } catch (Exception e) { Log.Error(e); } }
private void DeleteComp(BenchmarkComponent component) { if (component == null) { return; } Context.BenchmarkComponents.Remove(component); Context.SaveChanges(); }
protected override void Run(Session session, M2C_TeamGoBattleProgressReceiver message) { TestPlayerDataComponent testPlayerDataComponent = session.GetComponent <TestPlayerDataComponent>(); BenchmarkComponent benchmarkComponent = Game.Scene.GetComponent <BenchmarkComponent>(); if (benchmarkComponent.clients.TryGetValue(testPlayerDataComponent.testPlayerSetting.DeviceUniqueIdentifier, out var client)) { //client.UserLog($"M2C_TeamGoBattleProgressReceiverHandler"); } }
public static void Awake(this BenchmarkComponent self, IPEndPoint ipEndPoint) { try { NetOuterComponent networkComponent = Game.Scene.GetComponent <NetOuterComponent>(); self.Session = networkComponent.Create(ipEndPoint); self.TestLoginAsync(); } catch (Exception e) { Log.Error(e); } }
public static void Awake(this BenchmarkComponent self, IPEndPoint ipEndPoint) { try { NetOuterComponent networkComponent = Game.Scene.GetComponent <NetOuterComponent>(); for (int i = 0; i < 1000; i++) { self.TestAsync(networkComponent, ipEndPoint, i); } } catch (Exception e) { Log.Error(e); } }
public static async void TestLoginAsync(this BenchmarkComponent self) { try { await self.Login(self.Session); } catch (RpcException e) { Log.Error(e); } catch (Exception e) { Log.Error(e); } }
public static void Awake(this BenchmarkComponent self, string address) { try { IPEndPoint ipEndPoint = NetworkHelper.ToIPEndPoint(address); NetOuterComponent networkComponent = Game.Scene.GetComponent <NetOuterComponent>(); for (int i = 0; i < 1000; i++) { self.TestAsync(networkComponent, ipEndPoint, i).Coroutine(); } } catch (Exception e) { Log.Error(e); } }
protected override void Run(Session session, M2C_TeamGoBattleProgressAllDone message) { TestPlayerDataComponent testPlayerDataComponent = session.GetComponent <TestPlayerDataComponent>(); BenchmarkComponent benchmarkComponent = Game.Scene.GetComponent <BenchmarkComponent>(); if (benchmarkComponent.clients.TryGetValue(testPlayerDataComponent.testPlayerSetting.DeviceUniqueIdentifier, out var client)) { PartyBotModule partyBotModule = client.GetComponent <PartyBotModule>(); partyBotModule.state = State.Battle; if (partyBotModule.isLeader) { benchmarkComponent.groupToRoomMap.Remove(client.index / 8); } //client.UserLog($"M2C_TeamGoBattleProgressAllDoneHandler"); } }
private static void UpdateFPS(this BenchmarkComponent self) { self.frameCount = self.frameCount + 1.0f; self.updateTimer += self.timerComponent.deltaTime; self.logTimer -= self.timerComponent.deltaTime; if (self.logTimer <= 0.0f) { var fps = (int)(self.frameCount / self.updateTimer); self.frameCount = 0; self.updateTimer = 0; string networkInfo = self.networkProfiler.Show(fps); self.logTimer = BenchmarkComponent.logFreqAtSec; Console.WriteLine(networkInfo); } }
protected override void Run(Session session, M2C_TeamModifyMember message) { try { _Run(session, message); } catch (Exception e) { TestPlayerDataComponent testPlayerDataComponent = session.GetComponent <TestPlayerDataComponent>(); BenchmarkComponent benchmarkComponent = Game.Scene.GetComponent <BenchmarkComponent>(); if (benchmarkComponent.clients.TryGetValue(testPlayerDataComponent.testPlayerSetting.DeviceUniqueIdentifier, out var client)) { client.UserLog($"Msg:{e.Message}, Stack:{e.StackTrace}"); } } }
private static async void Awake(this BenchmarkComponent component, string address) { try { NetOuterComponent networkComponent = Game.Scene.GetComponent <NetOuterComponent>(); for (int i = 0; i < 100; i++) { await Game.Scene.GetComponent <TimerComponent>().WaitAsync(10); component.TestAsync(networkComponent, address, i); } } catch (Exception e) { Log.Error(e.ToString()); } }
protected void _Run(Session session, M2C_TeamModifyMember message) { TestPlayerDataComponent testPlayerDataComponent = session.GetComponent <TestPlayerDataComponent>(); BenchmarkComponent benchmarkComponent = Game.Scene.GetComponent <BenchmarkComponent>(); if (benchmarkComponent.clients.TryGetValue(testPlayerDataComponent.testPlayerSetting.DeviceUniqueIdentifier, out var client)) { PartyBotModule partyBotModule = client.GetComponent <PartyBotModule>(); if (partyBotModule.teams.TryGetValue(partyBotModule.roomId, out var team)) { bool isAdd = true; for (int i = 0; i < team.teamMemberDataList.Count; i++) { if (team.teamMemberDataList[i].Uid == message.Uid) { if (message.MemberData == null) { //刪除 isAdd = false; team.teamMemberDataList.RemoveAt(i); team.Info.NowMemberCount--; //client.UserLog($"RoomId:{partyBotModule.roomId}, NowMemberCount:{team.Info.NowMemberCount}"); } else { //更新 isAdd = false; team.teamMemberDataList[i] = message.MemberData; } break; } } if (isAdd) { team.teamMemberDataList.Add(message.MemberData); team.Info.NowMemberCount++; //client.UserLog($"RoomId:{partyBotModule.roomId}, NowMemberCount:{team.Info.NowMemberCount}"); } } //client.UserLog($"M2C_TeamModifyMemberHandler"); } }
public void Awake() { parent = GetParent <BenchmarkClientComponent>(); timerComponent = Game.Scene.GetComponent <TimerComponent>(); session = parent.session; benchmarkComponent = Game.Scene.GetComponent <BenchmarkComponent>(); mapUnitBotModule = parent.GetComponent <MapUnitBotModule>(); state = State.CreateOrEnterRoom; //_nowSpeed = random.Next(5, 30); _nowSpeed = 1; //while (!IsDisposed) //{ // await timerComponent.WaitForSecondAsync(5); // Console.WriteLine($"Name:{parent.userName}, State:{state}"); //} }
public static async void TestAsync(this BenchmarkComponent self, NetOuterComponent networkComponent, IPEndPoint ipEndPoint, int j) { try { using (Session session = networkComponent.Create(ipEndPoint)) { int i = 0; while (i < 100000000) { ++i; await self.Send(session, j); } } } catch (Exception e) { Log.Error(e); } }
protected override void Run(Session session, M2C_MapUnitUpdate message) { TestPlayerDataComponent testPlayerDataComponent = session.GetComponent <TestPlayerDataComponent>(); BenchmarkComponent benchmarkComponent = Game.Scene.GetComponent <BenchmarkComponent>(); if (benchmarkComponent.clients.TryGetValue(testPlayerDataComponent.testPlayerSetting.DeviceUniqueIdentifier, out var client)) { MapUnitBotModule roamingBotModule = client.GetComponent <MapUnitBotModule>(); if (!roamingBotModule.isEnableToStartGame) { roamingBotModule._m2cCache.Enqueue(message); } else { roamingBotModule.SyncM2C_MapUnitUpdate(message); } //client.UserLog($"M2C_MapUnitUpdateHandler, DistanceTravelled: {roamingBotModule.DistanceTravelled}"); } }
protected override void Run(Session session, M2C_TeamReadyModify message) { TestPlayerDataComponent testPlayerDataComponent = session.GetComponent <TestPlayerDataComponent>(); BenchmarkComponent benchmarkComponent = Game.Scene.GetComponent <BenchmarkComponent>(); if (benchmarkComponent.clients.TryGetValue(testPlayerDataComponent.testPlayerSetting.DeviceUniqueIdentifier, out var client)) { PartyBotModule partyBotModule = client.GetComponent <PartyBotModule>(); if (partyBotModule.teams.TryGetValue(partyBotModule.roomId, out var team)) { for (int i = 0; i < team.teamMemberDataList.Count; i++) { if (team.teamMemberDataList[i].Uid == message.Uid) { team.teamMemberDataList[i].IsReady = message.IsReady; break; } } } //client.UserLog($"M2C_TeamReadyModifyHandler"); } }
public static async Task Login(this BenchmarkComponent self, Session session) { var send = new C2S_UserLogin(); send.AccountId = 1; Log.Debug("发送"); var ret = (S2C_UserLogin)await session.Call(send); Log.Debug(ret.ToString()); if (ret.Tag == 0) { //var send1 = new C2S_UserLoginHandler } Log.Debug("发送:" + ret); //发送进入房间 var ret1 = (M2C_EnterRoom)await session.Call(new C2M_EnterRoom() { RoomType = 0, ActorId = ret.UnitId }); Log.Debug(ret1.ToString()); }
protected override void Run(Session session, M2C_TeamGoBattle message) { TestPlayerDataComponent testPlayerDataComponent = session.GetComponent <TestPlayerDataComponent>(); BenchmarkComponent benchmarkComponent = Game.Scene.GetComponent <BenchmarkComponent>(); if (benchmarkComponent.clients.TryGetValue(testPlayerDataComponent.testPlayerSetting.DeviceUniqueIdentifier, out var client)) { PartyBotModule partyBotModule = client.GetComponent <PartyBotModule>(); MapUnitBotModule mapUnitBotModule = client.GetComponent <MapUnitBotModule>(); mapUnitBotModule.mapUnitId = message.MapUnitId; for (int i = 0; i < message.MapUnitInfos.Count; i++) { var info = message.MapUnitInfos[i]; mapUnitBotModule.mapUnitInfos.TryAdd(info.MapUnitId, new MapUnitBotModule.MapUnitData { mapUnitInfo = info, }); } partyBotModule.state = State.GoBattle; partyBotModule._inputAsyncTimePre = partyBotModule.timerComponent.time; //client.UserLog($"M2C_TeamGoBattleHandler"); } }
public static async ETTask Send(this BenchmarkComponent self, Session session, int j) { try { await session.Call(new C2R_Ping()); ++self.k; if (self.k % 100000 != 0) { return; } long time2 = TimeHelper.ClientNow(); long time = time2 - self.time1; self.time1 = time2; Log.Info($"Benchmark k: {self.k} 每10W次耗时: {time} ms {session.Network.Count}"); } catch (Exception e) { Log.Error(e); } }
public static async void Update(this BenchmarkComponent self) { if (self.isOnProfiler) { self.UpdateFPS(); } if (!self.isNeedToUpdate) { return; } self.isNeedToUpdate = false; if (self.clientList.Count != 0) { for (int i = 0; i < self.clientList.Count; i++) { self.clientList[i].Update(); } } await self.timerComponent.WaitForSecondAsync(self.updatePeriod); self.isNeedToUpdate = true; }
public static async void Awake(this BenchmarkComponent self, ClientConfig clientConfig) { try { self.timerComponent = Game.Scene.GetComponent <TimerComponent>(); self.networkProfiler = new ProfilerUtility.NetworkProfiler(); if (!File.Exists(clientConfig.UserCollectionPath)) { Console.WriteLine($"Invalid user data path: {clientConfig.UserCollectionPath}"); return; } IPEndPoint ipEndPoint = ETModel.NetworkHelper.ToIPEndPoint(clientConfig.Address); NetOuterComponent networkComponent = Game.Scene.GetComponent <NetOuterComponent>(); string json = await File.ReadAllTextAsync(clientConfig.UserCollectionPath); List <BsonDocument> users = BsonSerializer.Deserialize <List <BsonDocument> >(json); //users = users.Where(e => e["identity"].AsInt32 == (int)User.Identity.TestPlayer).ToList(); users = users.Where(e => e["userId"].AsString.Length == 10).ToList(); int limit = clientConfig.Count * clientConfig.RobotCount; for (int i = clientConfig.CurrentRobot, j = 0; i < limit; i += clientConfig.RobotCount, j++) { //self.TestAsync(networkComponent, ipEndPoint, i); if (i >= users.Count) { Console.WriteLine($"testing player is over count of collection"); break; } BsonDocument user = users[i]; TestPlayerSetting testPlayerSetting = new TestPlayerSetting(); //testPlayerSetting.DeviceUniqueIdentifier = user["email"].AsString; testPlayerSetting.DeviceUniqueIdentifier = user["userId"].AsString; BenchmarkClientComponent.ClientSetting clientSetting = new BenchmarkClientComponent.ClientSetting { networkComponent = networkComponent, ipEndPoint = ipEndPoint, testPlayerSetting = testPlayerSetting, robotMode = (BenchmarkClientComponent.RobotMode)clientConfig.RobotMode, roadSettingId = clientConfig.RoadSettingId, }; var client = ComponentFactory.Create <BenchmarkClientComponent, BenchmarkClientComponent.ClientSetting>(clientSetting); client.index = j; self.clients.Add(testPlayerSetting.DeviceUniqueIdentifier, client); self.clientList.Add(client); } while (!self.IsDisposed) { await self.timerComponent.WaitForSecondAsync(1); if (self.watchTargetList.Count != 0) { foreach (var v in self.clientList.Where(e => self.watchTargetList.Contains(e.index))) { v.PrintMessage(); } } } } catch (Exception e) { Log.Error(e); } }