From af8dafd75f9a6fae017734d58fc7b34d6bdcd0f4 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 25 八月 2025 22:03:51 +0800
Subject: [PATCH] 0312 开启限帧
---
Main/Core/NetworkPackage/GameNetSystem.cs | 150 ++-----------------------------------------------
1 files changed, 8 insertions(+), 142 deletions(-)
diff --git a/Main/Core/NetworkPackage/GameNetSystem.cs b/Main/Core/NetworkPackage/GameNetSystem.cs
index f67a17b..c5dde14 100644
--- a/Main/Core/NetworkPackage/GameNetSystem.cs
+++ b/Main/Core/NetworkPackage/GameNetSystem.cs
@@ -6,7 +6,7 @@
public class GameNetSystem : Singleton<GameNetSystem>
{
- // NetUpdateBehaviour m_NetUpdateBehaviour;
+ NetUpdateBehaviour m_NetUpdateBehaviour;
NeverConnectState neverConnectState;
AccountLoginState accountLoginState;
// CreateOrSelectRoleState createOrSelectRoleState;
@@ -78,26 +78,16 @@
get { return mainSocket == null ? Time.time : (float)(DateTime.Now - mainSocket.lastPackageTime).TotalSeconds; }
}
- public bool crossServerConnected_Loigc { get; set; }
- private ClientSocket crossServerSocket;
- public bool crossServerSocketConnected { get { return crossServerConnected_Loigc && (crossServerSocket == null ? false : crossServerSocket.connected); } }
-
- public float timeSinceCrossServerSocketLastProtocol
- {
- get { return crossServerSocket == null ? Time.time : (float)(DateTime.Now - crossServerSocket.lastPackageTime).TotalSeconds; }
- }
Queue<GameNetPackBasic> mainProtocolQueue = new Queue<GameNetPackBasic>();
- Queue<GameNetPackBasic> crossSeverProtocolQueue = new Queue<GameNetPackBasic>();
- public CrossServerData crossServerData { get; private set; }
public GameNetSystem()
{
var gameObject = new GameObject("NetUpdateBehaviour");
- GameObject.DontDestroyOnLoad(gameObject);
- // m_NetUpdateBehaviour = gameObject.AddComponent<NetUpdateBehaviour>();
- // m_NetUpdateBehaviour.RegisterUpdateCallBack(OnUpdate);
+ GameObject.DontDestroyOnLoad(gameObject);
+ m_NetUpdateBehaviour = gameObject.AddComponent<NetUpdateBehaviour>();
+ m_NetUpdateBehaviour.RegisterUpdateCallBack(OnUpdate);
neverConnectState = gameObject.AddComponent<NeverConnectState>();
accountLoginState = gameObject.AddComponent<AccountLoginState>();
@@ -135,41 +125,6 @@
});
}
- public void BeginConnectCrossServer(string ip, int port, Action<bool> onConnected)
- {
- try
- {
- crossServerConnected_Loigc = false;
- if (crossServerSocketConnected)
- {
- crossServerSocket.CloseConnect();
- }
- }
- catch (System.Exception ex)
- {
- Debug.Log(ex);
- }
-
- crossServerSocket = new ClientSocket(ServerType.CrossSever);
- crossSeverProtocolQueue.Clear();
- this.crossServerSocket.Connect(ip, port, (bool ok) =>
- {
- if (onConnected != null)
- {
- onConnected(ok);
- }
- });
- }
-
- public void UpdateCrossServerData(string ip, int port, byte state)
- {
- this.crossServerData = new CrossServerData(ip, port, state);
- if (this.crossServerData.crossState == 0)
- {
- crossServerConnected_Loigc = false;
- }
- }
-
public void SendInfo(GameNetPackBasic protocol)
{
if (mainSocket != null)
@@ -187,15 +142,6 @@
}
}
- public void SendToCrossServer(GameNetPackBasic protocol)
- {
- if (crossServerSocket != null)
- {
- protocol.socketType = ServerType.CrossSever;
- crossServerSocket.SendInfo(protocol);
- DebugPkgCache.Push(protocol);
- }
- }
public void PushPackage(GameNetPackBasic protocol, ServerType type)
{
@@ -208,17 +154,7 @@
if (PackageRegedit.Contain(protocol.cmd))
{
- switch (type)
- {
- case ServerType.Main:
- mainProtocolQueue.Enqueue(protocol);
- break;
- case ServerType.CrossSever:
- crossSeverProtocolQueue.Enqueue(protocol);
- break;
- default:
- break;
- }
+ mainProtocolQueue.Enqueue(protocol);
DebugPkgCache.Push(protocol);
}
@@ -238,13 +174,7 @@
mainSocket.CloseConnect();
}
- if (crossServerSocket != null)
- {
- crossServerSocket.CloseConnect();
- }
-
mainProtocolQueue.Clear();
- crossSeverProtocolQueue.Clear();
}
catch (Exception ex)
{
@@ -255,30 +185,10 @@
netState = NetState.DisConnected;
// var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
// loginModel.busy = false;
- // CrossServerLogin.Instance.busy = false;
}
}
- public void DisconnectCrossServer()
- {
- try
- {
- if (crossServerSocket != null)
- {
- crossServerSocket.CloseConnect();
- }
- crossSeverProtocolQueue.Clear();
- }
- catch (Exception ex)
- {
- Debug.Log(ex);
- }
- finally
- {
- // CrossServerLogin.Instance.busy = false;
- }
- }
public void Reconnect()
{
@@ -289,13 +199,7 @@
mainSocket.CloseConnect();
}
- if (crossServerSocket != null)
- {
- crossServerSocket.CloseConnect();
- }
-
mainProtocolQueue.Clear();
- crossSeverProtocolQueue.Clear();
}
catch (Exception ex)
{
@@ -304,7 +208,6 @@
finally
{
netState = NetState.AccountLogin;
- // CrossServerLogin.Instance.busy = false;
// var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
// loginModel.busy = false;
// loginModel.ReAccountLogin();
@@ -320,20 +223,13 @@
try
{
// ynmbxxjUtil.Instance.RoleLoginOut();
- crossServerConnected_Loigc = false;
if (mainSocket != null)
{
mainSocket.CloseConnect();
}
- if (crossServerSocket != null)
- {
- crossServerSocket.CloseConnect();
- }
-
mainProtocolQueue.Clear();
- crossSeverProtocolQueue.Clear();
}
catch (Exception ex)
{
@@ -342,11 +238,10 @@
finally
{
netState = NetState.NerverConnect;
- // CrossServerLogin.Instance.busy = false;
- // //ArenaManager.isArenaClient = false;
+ // TODO YYL
+
// var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
// loginModel.busy = false;
- // WindowJumpMgr.Instance.ClearJumpData();
// StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
// {
@@ -366,7 +261,7 @@
// // GameObject.Destroy(obj.transform.GetChild(i).gameObject);
// //}
// //SceneManager.LoadScene("Empty");
- // NetLinkWin.Hide();
+ NetLinkWin.Hide();
// DTC0403_tagPlayerLoginLoadOK.neverLoginOk = true;
}
}
@@ -393,14 +288,6 @@
PackageRegedit.Distribute(package);
}
}
- while (crossSeverProtocolQueue.Count > 0)
- {
- var package = crossSeverProtocolQueue.Dequeue();
- if (package != null)
- {
- PackageRegedit.Distribute(package);
- }
- }
}
}
@@ -415,31 +302,10 @@
DisConnected = 6,
}
- public struct CrossServerData
- {
- public string ip;
- public int port;
- public CrossServerState crossState;
-
- public CrossServerData(string ip, int port, byte state)
- {
- this.ip = ip;
- this.port = port;
- this.crossState = (CrossServerState)state;
- }
- }
-
- public enum CrossServerState
- {
- No = 0,
- Yes = 1,
- Error = 2,
- }
}
public enum ServerType
{
Main = 1,
- CrossSever = 2,
}
--
Gitblit v1.8.0