Пример #1
0
        //Точка входа в программу. Код внутри метода Main будет выполнен этой программой
        static void Main(string[] args)
        {
            //объект core(ядро) будет управлять работой сервера, принимать сообщения, управлять пользователями и тд
            var core = new ServerCore();

            //ядро работает параллельно с основной программой, для начала работы надо вызвать метод StartWork()
            core.StartWork();
            //Немного логирования чтобы понять, что сервер запустился
            Console.WriteLine("STARTED!");
            //Если в консоли сервера мы нежмем Enter то выполнится метод ReadLine()
            Console.ReadLine();
            //И мы остановим работу сервера
            core.Stop();
        }
Пример #2
0
 private void StartServerButton_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         bStartServer.IsEnabled = false;
         if (ServerCore.IsStarted) //If started
         {
             ServerCore.Stop();
             StatusColor.Fill     = Brushes.WhiteSmoke;
             bStartServer.Content = "Start server";
         }
         else
         {
             var port = Convert.ToInt32(tb_port.Text);
             if (port < 0 || port > 65535)
             {
                 throw new FormatException("Port is " + (port < 0 ? "negative" : "greater than 65535"));
             }
             bStartServer.Content = "Server starting...";
             ServerCore.Start(port);
             StatusColor.Fill     = Brushes.LawnGreen;
             bStartServer.Content = "Pause server";
         }
         bStartServer.IsEnabled = true;
     }
     catch (FormatException ex)
     {
         MessageBox.Show("Port format error: " + ex.Message);
         Logger.LogError("User input error. Port format error: " + ex.Message);
     }
     catch (Exception ex)
     {
         StatusColor.Fill = Brushes.Red;
         Logger.LogError("Error: " + ex.Message);
     }
 }