소스 검색

还原原版et写法

johnclot69 4 달 전
부모
커밋
8d80847fe1

+ 5 - 6
DotNet/Hotfix/Helper/SceneFactory.cs

@@ -18,10 +18,9 @@ namespace ET.Server
                     // 云服务器中,一般来说router要单独部署,不过大家经常放在一起,那么下面要修改
                     // startSceneConfig.OuterIPPort改成startSceneConfig.InnerIPOutPort
                     // 然后云服务器防火墙把端口映射过来
-                    scene.AddComponent<RouterComponent, IPEndPoint, string, NetworkProtocol>(
+                    scene.AddComponent<RouterComponent, IPEndPoint, string>(
                         startSceneConfig.InnerIPOutPort,
-                        startSceneConfig.StartProcessConfig.InnerIP,
-                        NetworkProtocol.TCP
+                        startSceneConfig.StartProcessConfig.InnerIP
                     );
                     break;
                 case SceneType.RouterManager: // 正式发布请用CDN代替RouterManager
@@ -29,14 +28,14 @@ namespace ET.Server
                     scene.AddComponent<HttpComponent, string>($"http://+:{startSceneConfig.OuterPort}/");
                     break;
                 case SceneType.Realm:
-                    scene.AddComponent<NetServerComponent, IPEndPoint, NetworkProtocol>(startSceneConfig.InnerIPOutPort, NetworkProtocol.KCP);
+                    scene.AddComponent<NetServerComponent, IPEndPoint>(startSceneConfig.InnerIPOutPort);
                     scene.AddComponent<UserSessionComponent>();
                     break;
                 case SceneType.Game:
                     ConstGame.GameServerId = startSceneConfig.Id;
                     ConstGame.GameServerUUID = System.Guid.NewGuid().ToString();
 
-                    scene.AddComponent<NetServerComponent, IPEndPoint, NetworkProtocol>(startSceneConfig.InnerIPOutPort, NetworkProtocol.KCP);
+                    scene.AddComponent<NetServerComponent, IPEndPoint>(startSceneConfig.InnerIPOutPort);
                     scene.AddComponent<GameTokenInfoComponent>();
                     scene.AddComponent<GamePlayerComponent>();
                     scene.AddComponent<GameMapComponent>();
@@ -52,7 +51,7 @@ namespace ET.Server
                     break;
                 case SceneType.BenchmarkServer:
                     scene.AddComponent<BenchmarkServerComponent>();
-                    scene.AddComponent<NetServerComponent, IPEndPoint, NetworkProtocol>(startSceneConfig.InnerIPOutPort, NetworkProtocol.KCP);
+                    scene.AddComponent<NetServerComponent, IPEndPoint>(startSceneConfig.InnerIPOutPort);
                     break;
                 case SceneType.BenchmarkClient:
                     scene.AddComponent<BenchmarkClientComponent>();

+ 4 - 6
DotNet/Hotfix/Module/Message/NetInnerComponentSystem.cs

@@ -7,11 +7,10 @@ namespace ET.Server
     public static class NetInnerComponentSystem
     {
         [ObjectSystem]
-        public class NetInnerComponentAwakeSystem: AwakeSystem<NetInnerComponent, NetworkProtocol>
+        public class NetInnerComponentAwakeSystem: AwakeSystem<NetInnerComponent>
         {
-            protected override void Awake(NetInnerComponent self, NetworkProtocol protocol)
+            protected override void Awake(NetInnerComponent self)
             {
-                self.InnerProtocol = protocol;
                 NetInnerComponent.Instance = self;
 
                 switch (self.InnerProtocol)
@@ -34,11 +33,10 @@ namespace ET.Server
         }
 
         [ObjectSystem]
-        public class NetInnerComponentAwake1System: AwakeSystem<NetInnerComponent, IPEndPoint, NetworkProtocol>
+        public class NetInnerComponentAwake1System: AwakeSystem<NetInnerComponent, IPEndPoint>
         {
-            protected override void Awake(NetInnerComponent self, IPEndPoint address, NetworkProtocol protocol)
+            protected override void Awake(NetInnerComponent self, IPEndPoint address)
             {
-                self.InnerProtocol = protocol;
                 NetInnerComponent.Instance = self;
 
                 switch (self.InnerProtocol)

+ 3 - 15
DotNet/Hotfix/Module/Message/NetServerComponentSystem.cs

@@ -6,23 +6,11 @@ namespace ET.Server
     public static class NetServerComponentSystem
     {
         [ObjectSystem]
-        public class AwakeSystem: AwakeSystem<NetServerComponent, IPEndPoint, NetworkProtocol>
+        public class AwakeSystem: AwakeSystem<NetServerComponent, IPEndPoint>
         {
-            protected override void Awake(NetServerComponent self, IPEndPoint address, NetworkProtocol protocol)
+            protected override void Awake(NetServerComponent self, IPEndPoint address)
             {
-                switch (protocol)
-                {
-                    case NetworkProtocol.KCP:
-                    {
-                        self.ServiceId = NetServices.Instance.AddService(new KService(address, ServiceType.Outer));
-                        break;
-                    }
-                    case NetworkProtocol.TCP:
-                    {
-                        self.ServiceId = NetServices.Instance.AddService(new TService(address, ServiceType.Outer));
-                        break;
-                    }
-                }
+                self.ServiceId = NetServices.Instance.AddService(new KService(address, ServiceType.Outer));
                 NetServices.Instance.RegisterAcceptCallback(self.ServiceId, self.OnAccept);
                 NetServices.Instance.RegisterReadCallback(self.ServiceId, self.OnRead);
                 NetServices.Instance.RegisterErrorCallback(self.ServiceId, self.OnError);

+ 20 - 57
DotNet/Hotfix/Module/Router/RouterComponentSystem.cs

@@ -10,72 +10,35 @@ namespace ET.Server
     public static class RouterComponentSystem
     {
         [ObjectSystem]
-        public class RandomGeneratorponentAwakeSystem: AwakeSystem<RouterComponent, IPEndPoint, string, NetworkProtocol>
+        public class RandomGeneratorponentAwakeSystem: AwakeSystem<RouterComponent, IPEndPoint, string>
         {
-            protected override void Awake(RouterComponent self, IPEndPoint ipEndPoint, string innerIP, NetworkProtocol protocol)
+            protected override void Awake(RouterComponent self, IPEndPoint ipEndPoint, string innerIP)
             {
-                switch (protocol)
+                self.OuterSocket = new Socket(ipEndPoint.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
+                self.OuterSocket.Bind(new IPEndPoint(IPAddress.Any, ipEndPoint.Port));
+                if (!RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
                 {
-                    case NetworkProtocol.KCP:
-                    {
-                        self.OuterSocket = new Socket(ipEndPoint.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
-                        self.OuterSocket.Bind(new IPEndPoint(IPAddress.Any, ipEndPoint.Port));
-
-                        if (!RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
-                        {
-                            self.OuterSocket.SendBufferSize = 16 * Kcp.OneM;
-                            self.OuterSocket.ReceiveBufferSize = 16 * Kcp.OneM;
-                        }
+                    self.OuterSocket.SendBufferSize = 16 * Kcp.OneM;
+                    self.OuterSocket.ReceiveBufferSize = 16 * Kcp.OneM;
+                }
 
-                        if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
-                        {
-                            const uint IOC_IN = 0x80000000;
-                            const uint IOC_VENDOR = 0x18000000;
-                            uint SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12;
+                self.InnerSocket = new Socket(ipEndPoint.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
+                self.InnerSocket.Bind(new IPEndPoint(IPAddress.Any, 0));
 
-                            self.OuterSocket.IOControl((int) SIO_UDP_CONNRESET, new[] { Convert.ToByte(false) }, null);
-                            // self.InnerSocket.IOControl((int) SIO_UDP_CONNRESET, new[] { Convert.ToByte(false) }, null);
-                        }
-                        break;
-                    }
-                    case NetworkProtocol.TCP:
-                    {
-                        self.OuterSocket = new Socket(ipEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
-                        self.OuterSocket.Bind(new IPEndPoint(IPAddress.Any, ipEndPoint.Port));
-                        break;
-                    }
+                if (!RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
+                {
+                    self.InnerSocket.SendBufferSize = 16 * Kcp.OneM;
+                    self.InnerSocket.ReceiveBufferSize = 16 * Kcp.OneM;
                 }
 
-                NetworkProtocol innerProtocol = NetInnerComponent.Instance.GetProtocol();
-                switch (innerProtocol)
+                if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
                 {
-                    case NetworkProtocol.KCP:
-                    {
-                        self.InnerSocket = new Socket(ipEndPoint.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
-                        self.InnerSocket.Bind(new IPEndPoint(IPAddress.Any, 0));
-
-                        if (!RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
-                        {
-                            self.InnerSocket.SendBufferSize = 16 * Kcp.OneM;
-                            self.InnerSocket.ReceiveBufferSize = 16 * Kcp.OneM;
-                        }
-
-                        if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
-                        {
-                            const uint IOC_IN = 0x80000000;
-                            const uint IOC_VENDOR = 0x18000000;
-                            uint SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12;
+                    const uint IOC_IN = 0x80000000;
+                    const uint IOC_VENDOR = 0x18000000;
+                    uint SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12;
 
-                            self.InnerSocket.IOControl((int) SIO_UDP_CONNRESET, new[] { Convert.ToByte(false) }, null);
-                        }
-                        break;
-                    }
-                    case NetworkProtocol.TCP:
-                    {
-                        self.InnerSocket = new Socket(ipEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
-                        self.InnerSocket.Bind(new IPEndPoint(IPAddress.Any, 0));
-                        break;
-                    }
+                    self.OuterSocket.IOControl((int) SIO_UDP_CONNRESET, new[] { Convert.ToByte(false) }, null);
+                    self.InnerSocket.IOControl((int) SIO_UDP_CONNRESET, new[] { Convert.ToByte(false) }, null);
                 }
             }
         }

+ 6 - 7
DotNet/Hotfix/Scenes/EntryEvent2_InitServer.cs

@@ -29,15 +29,15 @@ namespace ET.Server
             {
                 case AppType.Server:
                 {
-                    Root.Instance.Scene.AddComponent<NetInnerComponent, IPEndPoint, NetworkProtocol>(
-                        processConfig.InnerIPPort,
-                        NetworkProtocol.KCP
+                    Root.Instance.Scene.AddComponent<NetInnerComponent, IPEndPoint>(
+                        processConfig.InnerIPPort
                     );
 
                     var processScenes = StartSceneConfigCategory.Instance.GetByProcess(Options.Instance.Process);
                     foreach (StartSceneConfig startConfig in processScenes)
                     {
-                        await SceneFactory.CreateServerScene(ServerSceneManagerComponent.Instance, startConfig.Id, startConfig.InstanceId, startConfig.Zone, startConfig.Name,
+                        await SceneFactory.CreateServerScene(
+                            ServerSceneManagerComponent.Instance, startConfig.Id, startConfig.InstanceId, startConfig.Zone, startConfig.Name,
                             startConfig.Type, startConfig);
                     }
                     break;
@@ -47,9 +47,8 @@ namespace ET.Server
                     StartMachineConfig startMachineConfig = WatcherHelper.GetThisMachineConfig();
                     WatcherComponent watcherComponent = Root.Instance.Scene.AddComponent<WatcherComponent>();
                     watcherComponent.Start(Options.Instance.CreateScenes);
-                    Root.Instance.Scene.AddComponent<NetInnerComponent, IPEndPoint, NetworkProtocol>(
-                        NetworkHelper.ToIPEndPoint($"{startMachineConfig.InnerIP}:{startMachineConfig.WatcherPort}"),
-                        NetworkProtocol.KCP
+                    Root.Instance.Scene.AddComponent<NetInnerComponent, IPEndPoint>(
+                        NetworkHelper.ToIPEndPoint($"{startMachineConfig.InnerIP}:{startMachineConfig.WatcherPort}")
                     );
                     break;
                 }

+ 1 - 1
DotNet/Model/Module/Message/NetInnerComponent.cs

@@ -30,7 +30,7 @@ namespace ET.Server
     }
 
     [ComponentOf(typeof(Scene))]
-    public class NetInnerComponent: Entity, IAwake<NetworkProtocol>, IAwake<IPEndPoint, NetworkProtocol>, IDestroy
+    public class NetInnerComponent: Entity, IAwake, IAwake<IPEndPoint>, IDestroy
     {
         public int ServiceId;
 

+ 1 - 1
DotNet/Model/Module/Message/NetServerComponent.cs

@@ -16,7 +16,7 @@ namespace ET.Server
     }
 
     [ComponentOf(typeof(Scene))]
-    public class NetServerComponent: Entity, IAwake<IPEndPoint, NetworkProtocol>, IDestroy
+    public class NetServerComponent: Entity, IAwake<IPEndPoint>, IDestroy
     {
         public int ServiceId;
     }

+ 1 - 1
DotNet/Model/Module/Router/RouterComponent.cs

@@ -7,7 +7,7 @@ namespace ET.Server
 {
 
     [ComponentOf(typeof(Scene))]
-    public class RouterComponent: Entity, IAwake<IPEndPoint, string, NetworkProtocol>, IDestroy, IUpdate
+    public class RouterComponent: Entity, IAwake<IPEndPoint, string>, IDestroy, IUpdate
     {
         public Socket OuterSocket;
         public Socket InnerSocket;

+ 3 - 4
Unity/Assets/Scripts/Codes/Hotfix/Client/Login/LoginHelper.cs

@@ -26,9 +26,8 @@ namespace ET.Client
                 var routerAddressComponent = clientScene.AddComponent<RouterAddressComponent, string, int>(ip, port);
                 await routerAddressComponent.Init();
 
-                clientScene.AddComponent<NetClientComponent, AddressFamily, NetworkProtocol>(
-                    routerAddressComponent.RouterManagerIPAddress.AddressFamily,
-                    NetworkProtocol.KCP
+                clientScene.AddComponent<NetClientComponent, AddressFamily>(
+                    routerAddressComponent.RouterManagerIPAddress.AddressFamily
                 );
                 //如果有多个软路由地址,则通过roomid弄点花样模拟随机获取一个地址
                 IPEndPoint realmAddress = routerAddressComponent.GetRealmAddress(roomToken ?? "1");
@@ -68,7 +67,7 @@ namespace ET.Client
 
                 player.PlayerId = g2CLoginGate.Player.id;
                 var ret = (G2C_BindPlayer)await gateSession.Call(new C2G_BindPlayer() { PlayerId = player.PlayerId });
-               
+
                 EnterMapHelper.EnterMapAsync(clientScene, ret.Player, ret.Player.instanceId).Coroutine();
             }
             catch (Exception e)

+ 3 - 15
Unity/Assets/Scripts/Codes/Hotfix/Client/Session/NetClientComponentSystem.cs

@@ -7,23 +7,11 @@ namespace ET.Client
     public static class NetClientComponentSystem
     {
         [ObjectSystem]
-        public class AwakeSystem: AwakeSystem<NetClientComponent, AddressFamily, NetworkProtocol>
+        public class AwakeSystem: AwakeSystem<NetClientComponent, AddressFamily>
         {
-            protected override void Awake(NetClientComponent self, AddressFamily addressFamily, NetworkProtocol protocol)
+            protected override void Awake(NetClientComponent self, AddressFamily addressFamily)
             {
-                switch (protocol)
-                {
-                    case NetworkProtocol.KCP:
-                    {
-                        self.ServiceId = NetServices.Instance.AddService(new KService(addressFamily, ServiceType.Outer));
-                        break;
-                    }
-                    case NetworkProtocol.TCP:
-                    {
-                        self.ServiceId = NetServices.Instance.AddService(new TService(addressFamily, ServiceType.Outer));
-                        break;
-                    }
-                }
+                self.ServiceId = NetServices.Instance.AddService(new KService(addressFamily, ServiceType.Outer));
                 NetServices.Instance.RegisterReadCallback(self.ServiceId, self.OnRead);
                 NetServices.Instance.RegisterErrorCallback(self.ServiceId, self.OnError);
             }

+ 1 - 1
Unity/Assets/Scripts/Codes/Model/Client/Message/NetClientComponent.cs

@@ -17,7 +17,7 @@ namespace ET.Client
     }
 
     [ComponentOf(typeof(Scene))]
-    public class NetClientComponent: Entity, IAwake<AddressFamily, NetworkProtocol>, IDestroy
+    public class NetClientComponent: Entity, IAwake<AddressFamily>, IDestroy
     {
         public int ServiceId;
     }