FiberInit_Router.cs 1016 B

123456789101112131415161718192021
  1. using System.Net;
  2. namespace ET.Server
  3. {
  4. [Invoke(SceneType.Router)]
  5. public class FiberInit_Router: AInvokeHandler<FiberInit, ETTask>
  6. {
  7. public override async ETTask Handle(FiberInit fiberInit)
  8. {
  9. Scene root = fiberInit.Fiber.Root;
  10. StartSceneConfig startSceneConfig = StartSceneConfigCategory.Instance.Get((int)root.Id);
  11. // 开发期间使用OuterIPPort,云服务器因为本机没有OuterIP,所以要改成InnerIPPort,然后在云防火墙中端口映射到InnerIPPort
  12. StartProcessConfig startProcessConfig = StartProcessConfigCategory.Instance.Get(startSceneConfig.Process);
  13. IPEndPoint outIPPort = NetworkHelper.ToIPEndPoint($"{startProcessConfig.OuterIP}:{startSceneConfig.Port}");
  14. root.AddComponent<RouterComponent, IPEndPoint, string>(outIPPort, startProcessConfig.InnerIP);
  15. Log.Console($"Router create: {root.Fiber.Id}");
  16. await ETTask.CompletedTask;
  17. }
  18. }
  19. }