Обработка ошибки подключения в программе обмен сообщениями по локальной сети - 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;
}