少年修仙传客户端代码仓库
client_Wu Xijin
2018-12-10 72841f1b3e910d99553570a3365f5fdf909f2e39
3335 修改跨服断线判断。
3个文件已修改
56 ■■■■ 已修改文件
Core/GameEngine/DataToCtl/ConnectedState.cs 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/DataToCtl/CreateOrSelectRoleState.cs 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/GameNetSystem.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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)
Core/GameEngine/DataToCtl/CreateOrSelectRoleState.cs
@@ -40,11 +40,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);
        }
@@ -69,6 +71,13 @@
        sendInfo.Type = 0;
        GameNetSystem.Instance.SendInfo(sendInfo);// 在线回应
        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);
    }
@@ -78,12 +87,22 @@
        var isDisconnected = false;
#if UNITY_IOS && !UNITY_EDITOR
        isDisconnected =GameNetSystem.Instance.timeSinceMainSocketLastProtocol > 3f;
        isDisconnected = GameNetSystem.Instance.timeSinceMainSocketLastProtocol > 3f;
#else
        isDisconnected = !GameNetSystem.Instance.mainSocketConnected
            || 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)
Core/NetworkPackage/GameNetSystem.cs
@@ -86,6 +86,8 @@
    Queue<GameNetPackBasic> mainProtocolQueue = new Queue<GameNetPackBasic>();
    Queue<GameNetPackBasic> crossSeverProtocolQueue = new Queue<GameNetPackBasic>();
    public bool isCrossSevering { get; set; }
    public GameNetSystem()
    {
        var gameObject = new GameObject("NetUpdateBehaviour");