Было бы здорово, если бы я получил представление о моей проблеме. Я использую серверное и клиентское приложение. Я использую сокеты Berkley. Моя проблема теперь в том, что когда мой сервер выключается или отключается от клиента, мой клиент выдает исключение.
"System. Net .Sockets.SocketException (0x80004005): установленное соединение было прервано программным обеспечением на вашем хост-компьютере в System. Net .Sockets.Socket.BeginSend (буфер Byte [], смещение Int32, размер Int32, SocketFlag socketFlags, обратный вызов AsyncCallback, состояние объекта)
в CCLink_Structure.Form1.Send_Message_Timer_Tick ( Отправитель объекта, EventArgs e) в C: \ Users \ yilia \ source \ repos \ CCLink Structure \ CCLink Structure \ Form1.cs: строка 494 в System. Windows .Forms.Timer.OnTick (EventArgs e) в System . Windows .Forms.Timer.TimerNativeWindow.WndPro c (Сообщение & m) в системе. Windows .Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Мой клиент хочет оставаться стабильным, даже когда сервер выключается, и мой клиент должен автоматически подключаться к серверу при его включении.
Я разрабатываю au Ser интерфейс программы в c# windows форме приложения. В своей программе я использую форму. таймер для непрерывной отправки данных на сервер, интервал времени между пакетами данных составляет 50 мс. Моя единственная проблема сейчас заключается в том, что я хочу, чтобы мой клиент остановился без каких-либо исключений и должен повторно подключаться при включении сервера.
toolStripStatusLabel1.Text = "Connecting...";
Socket newsock = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
String IP = System.Convert.ToString("192.168.68.110");
int Port = System.Convert.ToInt32("54601");
IPEndPoint iep = new IPEndPoint(IPAddress.Parse(IP),
Port);
newsock.BeginConnect(iep, new AsyncCallback(Connected), newsock);
}
catch (Exception ex) { MessageBox.Show(ex.Message); }```