예제 #1
0
        /// <summary>
        /// Подключение к серверу.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ConnectButton_Click(object sender, RoutedEventArgs e)
        {
            if (client == null || (client.Connected == false))
            {
                StartUp();
            }
            else
            {
                if (client.Connected)
                {
                    ConnectButton.Content = "Подключиться";
                    ConsoleClientTextBox.Clear();
                    WriteStatus("Разрыв соеднинения с сервером!");

                    IPBox.IsEnabled            = true;
                    FirstLastNameBox.IsEnabled = false;
                    UniversityBox.IsEnabled    = false;
                    PhoneBox.IsEnabled         = false;
                    browseButton.IsEnabled     = false;
                    SendButton.IsEnabled       = false;

                    byte[] message = Encoding.ASCII.GetBytes(disconnectMessage); // отправление сообщения об отключении на сервер
                    _ = Send(message);

                    Shutdown(); // завершение соединения
                }
                else
                {
                    StartUp();
                }
            }
        }
예제 #2
0
 /// <summary>
 /// Вывод информации в "псевдо-консоль" при помощи Dispatcher.
 /// </summary>
 /// <param name="info">Строка, которую необходимо отобразить.</param>
 private void WriteStatus(string info)
 {
     _ = Dispatcher.BeginInvoke(DispatcherPriority.Normal,
                                (ThreadStart) delegate()
     {
         ConsoleClientTextBox.Text += info + "\n";
         ConsoleTextBoxClientScroll.ScrollToEnd();
         ConsoleClientTextBox.UpdateLayout();
     }
                                );
 }
예제 #3
0
        /// <summary>
        /// Считывание данных с полей ввода IP-адреса и порта (задан изначально), их проверка.
        /// Вызов функции StartClient.
        /// </summary>
        private void StartUp()
        {
            ConsoleClientTextBox.Text = "Невозможно подключиться к серверу!"
                                        + "\nВозможно написанные ниже сообщения не являются истиной!"
                                        + "\n----------\n";

            if (IPBox.Text != string.Empty && PortBox.Text != string.Empty) // проверка на корректность вводимых данных
            {
                IPAddress = IPBox.Text;
                port      = int.Parse(PortBox.Text);

                bool result;
                result = StartClient();

                if (result)
                {
                    ConnectButton.Content = "Отключиться";
                    ConsoleClientTextBox.Clear();

                    IPBox.IsEnabled            = false;
                    FirstLastNameBox.IsEnabled = true;
                    UniversityBox.IsEnabled    = true;
                    PhoneBox.IsEnabled         = true;
                    browseButton.IsEnabled     = true;
                    SendButton.IsEnabled       = true;
                }
                else
                {
                    ConnectButton.Content = "Подключиться";
                }
            }
            else
            {
                _ = MessageBox.Show("Введите IP адрес и порт!", "Ошибка!");
            }
        }