Ejemplo n.º 1
0
        private static Task RunServers(CancellationToken token)
        {
            var webServer = AccountServer.CreateWebServer($"http://*:{Configuration.Global.WebPort}/");

            var webTask = webServer.RunAsync(token);

            var gameServer = new GameServer(IPAddress.Any, Convert.ToInt32(Configuration.Global.GamePort));

            gameServer.OptionNoDelay = true;

            var gameTask = Task.Run(async() =>
            {
                gameServer.Start();
                while (!token.IsCancellationRequested)
                {
                    // Wait
                    await Task.Delay(10, token);
                }
                // Calling stop
                gameServer.Stop();
            }, token);

            return(Task.WhenAll(webTask, gameTask));
        }