Преглед на файлове

论坛里面提出了两个问题:
1.C2G_PingHandler中Server时间使用ClientNow,这是因为机器人如果在同一个Server进程会修改ServerMinusClientTime,服务端收到ping后又使用ServerNow,这就不正确了
2.A2NetClient_Response A2NetInner_Response加上using,回收到池中,因为这两个消息用的比较多,使用池会好一些

tanghai преди 2 години
родител
ревизия
cc59c9695a

+ 1 - 1
Unity/Assets/Scripts/Hotfix/Client/Demo/Main/ClientSenderCompnentSystem.cs

@@ -54,7 +54,7 @@ namespace ET.Client
         {
             A2NetClient_Request a2NetClientRequest = A2NetClient_Request.Create();
             a2NetClientRequest.MessageObject = request;
-            A2NetClient_Response a2NetClientResponse = await self.Root().GetComponent<ProcessInnerSender>().Call(self.netClientActorId, a2NetClientRequest) as A2NetClient_Response;
+            using A2NetClient_Response a2NetClientResponse = await self.Root().GetComponent<ProcessInnerSender>().Call(self.netClientActorId, a2NetClientRequest) as A2NetClient_Response;
             IResponse response = a2NetClientResponse.MessageObject;
                         
             if (response.Error == ErrorCore.ERR_MessageTimeout)

+ 1 - 1
Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/C2G_PingHandler.cs

@@ -10,7 +10,7 @@ namespace ET.Server
 		{
 			using C2G_Ping _ = request; // 这里用完调用Dispose可以回收到池,不调用的话GC会回收
 			
-			response.Time = TimeInfo.Instance.ServerNow();
+			response.Time = TimeInfo.Instance.ClientNow();
 			await ETTask.CompletedTask;
 			
 			//response会在函数返回发送完消息回收到池

+ 1 - 1
Unity/Assets/Scripts/Hotfix/Server/Module/Message/MessageSenderSystem.cs

@@ -74,7 +74,7 @@ namespace ET.Server
             a2NetInner_Request.ActorId = actorId;
             a2NetInner_Request.MessageObject = request;
             
-            A2NetInner_Response a2NetInnerResponse = await fiber.Root.GetComponent<ProcessInnerSender>().Call(
+            using A2NetInner_Response a2NetInnerResponse = await fiber.Root.GetComponent<ProcessInnerSender>().Call(
                 new ActorId(fiber.Process, ConstFiberId.NetInner), a2NetInner_Request) as A2NetInner_Response;
             IResponse response = a2NetInnerResponse.MessageObject;