예제 #1
0
        private static async ETTask GetAllRouter(this RouterAddressComponent self)
        {
            string url = $"http://{self.RouterManagerHost}:{self.RouterManagerPort}/get_router?v={RandomHelper.RandUInt32()}";

            Log.Debug($"start get router info: {url}");
            string routerInfo = await HttpClientHelper.Get(url);

            Log.Debug($"recv router info: {routerInfo}");
            HttpGetRouterResponse httpGetRouterResponse = JsonHelper.FromJson <HttpGetRouterResponse>(routerInfo);

            self.Info = httpGetRouterResponse;
            Log.Debug($"start get router info finish: {JsonHelper.ToJson(httpGetRouterResponse)}");

            // 打乱顺序
            RandomHelper.BreakRank(self.Info.Routers);

            self.WaitTenMinGetAllRouter().Coroutine();
        }