Example #1
0
        GameServerListManager()
        {
            try
            {

                DirServiceSoapClient dirClient = new DirServiceSoapClient();
                ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) => true;

                string keyCode = "";
                var gameList = dirClient.GetGame();
                foreach (var gameInfo in gameList)
                {
                    var serverList = dirClient.GetServers(gameInfo.ID, false, false);
                    foreach (var serverInfo in serverList)
                    {
                        keyCode = string.Format("{0}_{1}", gameInfo.ID, serverInfo.ID);
                        serversPool.TryAdd(keyCode, serverInfo);
                    }
                }
                logger.Info("load game server:{0}", string.Join(",", serversPool.Keys));
            }
            catch (Exception ex)
            {
                logger.Error("load game server error:{0}", ex);
            }
        }
Example #2
0
        public static void Initialize(Action <ServerInfo> updateCallback)
        {
            try
            {
                string[]             gameIds   = ConfigUtils.GetSetting("GameIds", "").Split(',');
                DirServiceSoapClient dirClient = new DirServiceSoapClient();
                ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) => true;

                string          keyCode  = "";
                List <GameInfo> gameList = new List <GameInfo>();
                foreach (var gameId in gameIds)
                {
                    if (!string.IsNullOrEmpty(gameId))
                    {
                        var gameInfo = dirClient.GetGameObj(gameId.ToInt());
                        if (gameInfo != null)
                        {
                            gameList.Add(gameInfo);
                        }
                    }
                }
                if (gameList.Count == 0)
                {
                    gameList.AddRange(dirClient.GetGame());
                }
                foreach (var gameInfo in gameList)
                {
                    var serverList = dirClient.GetServers(gameInfo.ID, false, false);
                    foreach (var serverInfo in serverList)
                    {
                        keyCode = string.Format("{0}_{1}", gameInfo.ID, serverInfo.ID);
                        ServerInfo temp;
                        if (!serversPool.TryGetValue(keyCode, out temp))
                        {
                            serversPool.TryAdd(keyCode, serverInfo);
                        }
                        else if (temp.IsEnable != serverInfo.IsEnable ||
                                 temp.IntranetAddress != serverInfo.IntranetAddress ||
                                 temp.ServerUrl != serverInfo.ServerUrl)
                        {
                            temp.IsEnable        = serverInfo.IsEnable;
                            temp.IntranetAddress = serverInfo.IntranetAddress;
                            temp.ServerUrl       = serverInfo.ServerUrl;
                            if (updateCallback != null)
                            {
                                updateCallback(temp);
                            }
                        }
                    }
                }
                TraceLog.ReleaseWrite("load game server:{0}", string.Join(",", serversPool.Keys));
            }
            catch (Exception ex)
            {
                TraceLog.WriteError("load game server error:{0}", ex);
            }
        }
Example #3
0
        public static void Initialize(Action<ServerInfo> updateCallback)
        {
            try
            {
                string[] gameIds = ConfigUtils.GetSetting("GameIds", "").Split(',');
                DirServiceSoapClient dirClient = new DirServiceSoapClient();
                ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) => true;

                string keyCode = "";
                List<GameInfo> gameList = new List<GameInfo>();
                foreach (var gameId in gameIds)
                {
                    if (!string.IsNullOrEmpty(gameId))
                    {
                        var gameInfo = dirClient.GetGameObj(gameId.ToInt());
                        if (gameInfo != null)
                        {
                            gameList.Add(gameInfo);
                        }
                    }
                }
                if (gameList.Count == 0)
                {
                    gameList.AddRange(dirClient.GetGame());
                }
                foreach (var gameInfo in gameList)
                {
                    var serverList = dirClient.GetServers(gameInfo.ID, false, false);
                    foreach (var serverInfo in serverList)
                    {
                        keyCode = string.Format("{0}_{1}", gameInfo.ID, serverInfo.ID);
                        ServerInfo temp;
                        if (!serversPool.TryGetValue(keyCode, out temp))
                        {
                            serversPool.TryAdd(keyCode, serverInfo);
                        }
                        else if (temp.IsEnable != serverInfo.IsEnable ||
                            temp.IntranetAddress != serverInfo.IntranetAddress ||
                            temp.ServerUrl != serverInfo.ServerUrl)
                        {
                            temp.IsEnable = serverInfo.IsEnable;
                            temp.IntranetAddress = serverInfo.IntranetAddress;
                            temp.ServerUrl = serverInfo.ServerUrl;
                            if (updateCallback != null)
                            {
                                updateCallback(temp);
                            }
                        }
                    }
                }
                TraceLog.ReleaseWrite("load game server:{0}", string.Join(",", serversPool.Keys));
            }
            catch (Exception ex)
            {
                TraceLog.WriteError("load game server error:{0}", ex);
            }
        }
Example #4
0
 GameServerListManager()
 {
     DirServiceSoapClient dirClient = new DirServiceSoapClient();
     string keyCode = "";
     var gameList = dirClient.GetGame();
     foreach (var gameInfo in gameList)
     {
         var serverList = dirClient.GetServers(gameInfo.ID, false, false);
         foreach (var serverInfo in serverList)
         {
             keyCode = string.Format("{0}_{1}", gameInfo.ID, serverInfo.ID);
             serversPool.TryAdd(keyCode, serverInfo);
         }
     }
     logger.Info("加载游戏服:{0}", string.Join(",", serversPool.Keys));
 }
Example #5
0
        GameServerListManager()
        {
            DirServiceSoapClient dirClient = new DirServiceSoapClient();
            string keyCode  = "";
            var    gameList = dirClient.GetGame();

            foreach (var gameInfo in gameList)
            {
                var serverList = dirClient.GetServers(gameInfo.ID, false, false);
                foreach (var serverInfo in serverList)
                {
                    keyCode = string.Format("{0}_{1}", gameInfo.ID, serverInfo.ID);
                    serversPool.TryAdd(keyCode, serverInfo);
                }
            }
            logger.Info("加载游戏服:{0}", string.Join(",", serversPool.Keys));
        }