public void Close() { IsRunning = false; if (SocketFrom != null) { if (SocketFrom.Connected) { try { SocketFrom.Shutdown(SocketShutdown.Both); } catch {; } Thread.Sleep(100); try { SocketFrom.Close(); } catch {; } } SocketFrom = null; } if (SocketTo != null) { if (SocketTo.Connected) { try { SocketTo.Shutdown(SocketShutdown.Both); } catch {; } Thread.Sleep(100); try { SocketTo.Close(); } catch {; } } SocketTo = null; } }