예제 #1
0
        private void ReloadConfiguration()
        {
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(RuleConfiguration));

            while (true)
            {
                try
                {
                    using (StreamReader srdr = new StreamReader(_xmlFile))
                    {
                        RuleConfiguration config = (RuleConfiguration)xmlSerializer.Deserialize(srdr);

                        Rules.Clear();

                        foreach (MessageValidator rule in config.Rules)
                        {
                            Rules.Add(rule);
                        }
                    }
                    break;
                }
                catch (IOException)
                {
                    // Keep retrying if there is an access error
                }
            }
        }
예제 #2
0
파일: Program.cs 프로젝트: zdchupka/HMCT
        public Program()
        {
            Console.Title = "Hyland IM Server";

            LoadUsers();

            if (!Stats.Initialize(Users.Keys))
            {
                Shutdown();
                return;
            }

            RuleConfiguration = new RuleConfiguration(_RulesXmlPath);

            Console.WriteLine(string.Format("----- Hyland IM Server -----"));

            server = new TcpListener(IPAddress.Parse(_IPAddress), Settings.Default.Port);
            Console.WriteLine("IP Address: {0}, Port: {1}", _IPAddress, Settings.Default.Port.ToString());

            server.Start();
            Listen();
        }