예제 #1
0
        public static void LoadAuths()
        {
            lock (DatabaseProvider.Locker)
            {
                var sqlText = "SELECT * FROM authservers";
                var sqlCommand = new MySqlCommand(sqlText, DatabaseProvider.Connection);

                var sqlReader = sqlCommand.ExecuteReader();

                while (sqlReader.Read())
                {
                    var server = new Models.Clients.AuthClientModel()
                    {
                        ID = sqlReader.GetInt16("Id"),
                        IP = sqlReader.GetString("Ip"),
                        Port = sqlReader.GetInt16("Port"),
                        PassKey = sqlReader.GetString("PassKey"),
                    };

                    Network.ServersHandler.AuthLinks.AddAuthClient(server);
                }

                sqlReader.Close();
            }
        }
예제 #2
0
파일: AuthsCache.cs 프로젝트: T4NK/SunDofus
        public static void ReloadAuths(object sender = null, EventArgs e = null)
        {
            lock (DatabaseHandler.ConnectionLocker)
            {
                var sqlText = "SELECT * FROM dyn_auths";
                var sqlCommand = new MySqlCommand(sqlText, DatabaseHandler.Connection);

                var sqlReader = sqlCommand.ExecuteReader();

                while (sqlReader.Read())
                {
                    var server = new Models.Clients.AuthClientModel();

                    server.ID = sqlReader.GetInt16("Id");
                    server.IP = sqlReader.GetString("Ip");
                    server.Port = sqlReader.GetInt16("Port");

                    lock (AuthsList)
                    {
                        if (!AuthsList.Any(x => x.ID == server.ID))
                            AuthsList.Add(server);
                    }
                }

                sqlReader.Close();
            }

            if (!isStarted)
            {
                Timer = new Timer();
                Timer.Interval = Utilities.Config.GetConfig.GetIntElement("TimeReloadAuths");
                Timer.Enabled = true;
                Timer.Elapsed += new ElapsedEventHandler(ReloadAuths);
            }
            else
                Network.ServersHandler.AuthLinks.Update(AuthsList);
        }
예제 #3
0
파일: AuthsCache.cs 프로젝트: T4NK/SunDofus
        public static void ReloadAuths()
        {
            lock (DatabaseHandler.ConnectionLocker)
            {
                var sqlText = "SELECT * FROM dyn_auths";
                var sqlCommand = new MySqlCommand(sqlText, DatabaseHandler.Connection);

                var sqlReader = sqlCommand.ExecuteReader();

                while (sqlReader.Read())
                {
                    var server = new Models.Clients.AuthClientModel();

                    server.ID = sqlReader.GetInt16("Id");
                    server.IP = sqlReader.GetString("Ip");
                    server.Port = sqlReader.GetInt16("Port");

                    lock (AuthsList)
                        AuthsList.Add(server);
                }

                sqlReader.Close();
            }
        }