public static ServerExchanger GetInstance(TcpClient server, Control canvas) { if (_instance == null) { _instance = new ServerExchanger(server, canvas); } return _instance; }
private void StartExchangeAndUpdate() { Debug.WriteLine("Устанавливаем соединение с сервером"); try { this._server = new TcpClient(this._serverIp.ToString(), this._serverPort); this._serverExchanger = ServerExchanger.GetInstance(_server, this.pnCanvas); new Thread(this._serverExchanger.ServerExchange).Start(); } catch (SocketException sex) { Debug.WriteLine("Не удалось установить соединение с сервером.\n{0}", sex.Message); MessageBox.Show("Не удалось установить соединение с сервером", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (ServerExchangerException seex) { Debug.WriteLine("Не удалось установить соединение с сервером.\n{0}", seex.Message); MessageBox.Show("Не удалось установить соединение с сервером", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (ArgumentNullException anex) { Debug.WriteLine("Не удалось установить соединение с сервером.\n{0}", anex.Message); MessageBox.Show("Не удалось установить соединение с сервером", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (ThreadStartException tsex) { Debug.WriteLine("Не удалось установить соединение с сервером.\n{0}", tsex.Message); MessageBox.Show("Не удалось установить соединение с сервером", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (OutOfMemoryException omex) { Debug.WriteLine("Не удалось установить соединение с сервером.\n{0}", omex.Message); MessageBox.Show("Не удалось установить соединение с сервером", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex) { Debug.WriteLine("Ошибка при установлении соединения с сервером.\n{0}", ex.Message); MessageBox.Show("Ошибка при установлении соединения с сервером", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }