Обработка ошибки подключения в программе обмен сообщениями по локальной сети - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Нужна помощь эксперта. Пишу программу, обмен сообщениями в локальной сети. Использую подключение Сервер - Клиент. Помогите с обработкой ошибки. При запуске клиента без сервера, программа реагирует вот как
************** Текст исключения **************
System.Net.Sockets.SocketException (0x80004005): Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение 127.0.0.1:2222
   в System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   в System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
   в Client.ChatForm.ChatForm_Load(Object sender, EventArgs e) в F:\Курсова\Chat2\Client\Client\ChatForm.cs:строка 76
   в System.Windows.Forms.Form.OnLoad(EventArgs e)
   в MetroFramework.Forms.MetroForm.OnLoad(EventArgs e)
   в System.Windows.Forms.Form.OnCreateControl()
   в System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   в System.Windows.Forms.Control.CreateControl()
   в System.Windows.Forms.Control.WmShowWindow(Message& m)
   в System.Windows.Forms.Control.WndProc(Message& m)
   в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   в System.Windows.Forms.Form.WmShowWindow(Message& m)
   в System.Windows.Forms.Form.WndProc(Message& m)
   в MetroFramework.Forms.MetroForm.WndProc(Message& m)
   в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
А нужно что бы выдал сообщение типа сервер не найдет, сервер не отвечает. Код программы
private void ChatForm_Load(object sender, EventArgs e)
        {
            IPAddress temp = IPAddress.Parse(_host);
            _serverSocket = new Socket(temp.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            _serverSocket.Connect(new IPEndPoint(temp, _port));
            if (_serverSocket.Connected)
            {
                enterChat.Enabled = true;
                nicknameData.Enabled = true;
                AddMessage("Зв'язок з сервером встановлено.");
                listenThread = new Thread(listner);
                listenThread.IsBackground = true;
                listenThread.Start();
                mIP.Text = ($"Сервер: { _host}");
 
            }
            else
                AddMessage("Зв'язок з сервером не встановлено.");

        }

Решение задачи: «Обработка ошибки подключения в программе обмен сообщениями по локальной сети»

textual
Листинг программы
try
{
    _serverSocket.Connect(new IPEndPoint(temp, _port));
}
catch (SocketException ex)
{
    // Проверка ex.NativeErrorCode
    MessageBox.Show("Ошибка подключения");
    return;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.583 из 5
Похожие ответы