From 18f94146c57f3a225f1082480ed34194a57bbccd Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期二, 30 十月 2018 19:33:59 +0800
Subject: [PATCH] 4340 【前端】支持xlua方便IOS提审 修改网络封包系统,如果封包没有在C#注册,那么抛给lua

---
 Core/NetworkPackage/Socket/ClientSocketController.cs |   32 ++++++++++++++++++++++----------
 1 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/Core/NetworkPackage/Socket/ClientSocketController.cs b/Core/NetworkPackage/Socket/ClientSocketController.cs
index 4e8072f..c6ce2c4 100644
--- a/Core/NetworkPackage/Socket/ClientSocketController.cs
+++ b/Core/NetworkPackage/Socket/ClientSocketController.cs
@@ -9,8 +9,7 @@
 public class ClientSocketController
 {
     Socket m_Socket;
-    public Socket socket
-    {
+    public Socket socket {
         get { return m_Socket; }
     }
 
@@ -205,6 +204,7 @@
 
     }
 
+    static byte[] vCmdBytes = new byte[2];
     /// <summary>
     /// 闃呰淇℃伅
     /// </summary>
@@ -249,16 +249,28 @@
                 vPackBytes = new byte[vBodyLeng];
                 Array.Copy(fixBytes, vReadIndex + 6, vPackBytes, 0, vBodyLeng); // 鎻愬彇鍖呯殑瀛楄妭鍐呭
                                                                                 // 瀹屾暣鐨勫寘鍒欒鍖�
-                vNetpack = PackageRegedit.TransPack(vPackBytes);
-                if (vNetpack != null)
-                {
-                    if (DebugEx.EnableNetLog)
-                    {
-                        DebugEx.NetLogFormat("鏀跺寘锛歿0}", vNetpack.GetType().Name);
-                    }
 
-                    GameNetSystem.Instance.PushPackage(vNetpack);
+                vPackBytes = GameNetEncode.BaseXorSub(vPackBytes);
+                Array.Copy(vPackBytes, 0, vCmdBytes, 0, 2);
+                var cmd = (ushort)((ushort)(vCmdBytes[0] << 8) + vCmdBytes[1]);
+                if (PackageRegedit.Contain(cmd))
+                {
+                    vNetpack = PackageRegedit.TransPack(cmd, vPackBytes);
+                    if (vNetpack != null)
+                    {
+                        if (DebugEx.EnableNetLog)
+                        {
+                            DebugEx.NetLogFormat("鏀跺寘锛歿0}", vNetpack.GetType().Name);
+                        }
+
+                        GameNetSystem.Instance.PushPackage(vNetpack);
+                    }
                 }
+                else
+                {
+                    CSharpCallLua.OnRecieveLuaNetPackage(cmd, vPackBytes);
+                }
+
                 vReadIndex += 6 + vBodyLeng;
             }
         }

--
Gitblit v1.8.0