public static void InitSdk() { if (!SdkStatus.IsUnInit()) { return; } if (User != null) { UnInitSdk(); } // 正在初始化 SdkStatus.SetStatus(SdkStatus.StatusType.Initing); Core.InitModules(); BaseNetUtil.StopQueueLoop(); BaseNetUtil.StartQueueLoop(); // 设置 Socket 链接地址 Socket1.Url = Config.Url; // loginEvent += onSocketConnect; ListenSocketConnect(); Socket1.ConnectSocketTask("init Sdk"); }
private static void InitModules() { Core.User = new User.User(Sdk.Responses); Core.Matcher = new Matcher.Matcher(Sdk.Responses); Core.Sender = new Sender.Sender(Sdk.Responses); Core.Room = new Room.Room(Sdk.Responses); Core.FrameSender = new FrameSender(Sdk.Responses); Core.Socket1 = new Socket(0, false, null); Core.Socket2 = new Socket(1, true, null); Core.Pinger1 = new Pinger(Sdk.Responses, 0, null); Core.Pinger2 = new Pinger(Sdk.Responses, 1, FrameSender); var route1 = new BaseNetUtil[6] { User, Room, Sender, FrameSender.NetUtil1, Pinger1, Matcher }; var route2 = new BaseNetUtil[2] { FrameSender.NetUtil2, Pinger2 }; foreach (var request in route1) { request.BindSocket(Core.Socket1); } foreach (var request in route2) { request.BindSocket(Core.Socket2); } Sdk.UpdateSdk(); }
private static void UnInitModules() { Socket1?.DestroySocketTask(); Socket2?.DestroySocketTask(); var route = new BaseNetUtil[8] { User, Room, Sender, Matcher, FrameSender.NetUtil1, FrameSender.NetUtil2, Pinger1, Pinger2 }; foreach (var request in route) { request?.UnbindSocket(); } }
public static void UnInitSdk() { if (SdkStatus.IsUnInit()) { return; } Pinger1.Stop(); Pinger2.Stop(); BaseNetUtil.StopQueueLoop(); Sdk.Instance.ClearResponse(); Core.UnInitModules(); SdkStatus.SetStatus(SdkStatus.StatusType.Uninit); UserStatus.SetStatus(UserStatus.StatusType.Logout); Sdk.Uninit(); }