From 72841f1b3e910d99553570a3365f5fdf909f2e39 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 10 十二月 2018 11:59:50 +0800
Subject: [PATCH] 3335 修改跨服断线判断。
---
Core/GameEngine/DataToCtl/ConnectedState.cs | 29 ++++++++++++++++++++++++-----
1 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/Core/GameEngine/DataToCtl/ConnectedState.cs b/Core/GameEngine/DataToCtl/ConnectedState.cs
index 3b51944..fe9cd72 100644
--- a/Core/GameEngine/DataToCtl/ConnectedState.cs
+++ b/Core/GameEngine/DataToCtl/ConnectedState.cs
@@ -43,11 +43,13 @@
return;
}
- if (GameNetSystem.Instance.timeSinceMainSocketLastProtocol > OVERTIME_THRESHOLD)
+ if (GameNetSystem.Instance.timeSinceMainSocketLastProtocol > OVERTIME_THRESHOLD
+ || (!GameNetSystem.Instance.isCrossSevering && GameNetSystem.Instance.timeSinceCrossServerSocketLastProtocol > OVERTIME_THRESHOLD))
{
DetectConnected(3);
}
- else if (!GameNetSystem.Instance.mainSocketConnected)
+ else if (!GameNetSystem.Instance.mainSocketConnected
+ || !GameNetSystem.Instance.crossServerSocketConnected)
{
DetectConnected(3);
}
@@ -68,9 +70,16 @@
{
connectedDetecting = true;
- var sendInfo = new C0104_tagCOnlineReturn();
- sendInfo.Type = 0;
- GameNetSystem.Instance.SendInfo(sendInfo);// 鍦ㄧ嚎鍥炲簲
+ var sendInfo1 = new C0104_tagCOnlineReturn();
+ sendInfo1.Type = 0;
+ GameNetSystem.Instance.SendInfo(sendInfo1);// 鍦ㄧ嚎鍥炲簲
+
+ if (GameNetSystem.Instance.isCrossSevering)
+ {
+ var sendInfo2 = new C0104_tagCOnlineReturn();
+ sendInfo2.Type = 0;
+ GameNetSystem.Instance.SendToCrossServer(sendInfo2);// 鍦ㄧ嚎鍥炲簲
+ }
Clock.Create(DateTime.Now + new TimeSpan(_seconds * TimeSpan.TicksPerSecond), OnDetectEnd);
}
@@ -87,6 +96,16 @@
|| GameNetSystem.Instance.timeSinceMainSocketLastProtocol > OVERTIME_THRESHOLD;
#endif
+ if (GameNetSystem.Instance.isCrossSevering)
+ {
+#if UNITY_IOS && !UNITY_EDITOR
+ isDisconnected = isDisconnected || GameNetSystem.Instance.timeSinceCrossServerSocketLastProtocol > 3f;
+#else
+ isDisconnected = isDisconnected || !GameNetSystem.Instance.crossServerSocketConnected
+ || GameNetSystem.Instance.timeSinceCrossServerSocketLastProtocol > OVERTIME_THRESHOLD;
+#endif
+ }
+
if (isDisconnected)
{
switch (Application.internetReachability)
--
Gitblit v1.8.0