private void DisconnectRoutine() { if (MyClient != null) { MyClient.StopConnection(); MyClient = null; } UiConfig(false); }
private void BtnConnect_Click(object sender, EventArgs e) { try { DisconnectRoutine(); //MyClient = new Helpers.TTcpClientSocket() //{ // ServerHost = TxtServerHost.Text.Trim(), // ServerPort = (int)NudServerPort.Value, // ContainLengthAsHeader = ChkContainLengthAsHeader.Checked, // EnableAnalyzeIncomingData = Models.Param.TcpClient.DefaultValue.EnableAnalyzeIncomingData, // HeartbeatInterval = ChkHeartbeatInterval.Checked ? (int)NudHeartbeatInterval.Value : -1, // MaxConnectionDuration = ChkMaxConnectionDuration.Checked ? (int)NudMaxConnectionDuration.Value : -1, // MaxIdleDuration = ChkMaxIdleDuration.Checked ? (int)NudMaxIdleDuration.Value : -1, // MaxDataSize = (int)NudMaxDataSize.Value, // ReceiveDataInterval = (int)NudReceiveDataInterval.Value, // ReceiveTotalBufferSize = (int)NudReceiveTotalBufferSize.Value, // SleepingIntervalInMS = ChkSleepingInterval.Checked ? (int)NudSleepingInterval.Value : -1, // IncomingDataQueue = MyIncomingDataQueue, // IncomingDataQueueLocker = MyIncomingDataQueueLocker //}; MyClient = new Helpers.TTcpSocket.Client(TxtServerHost.Text.Trim(), (int)NudServerPort.Value, MyIncomingDataQueue, MyIncomingDataQueueLocker) { ContainLengthAsHeader = ChkContainLengthAsHeader.Checked, EnableAnalyzeIncomingData = true, HeartbeatInterval = ChkHeartbeatInterval.Checked ? (int)NudHeartbeatInterval.Value : -1, MaxConnectionDuration = ChkMaxConnectionDuration.Checked ? (int)NudMaxConnectionDuration.Value : -1, MaxIdleDuration = ChkMaxIdleDuration.Checked ? (int)NudMaxIdleDuration.Value : -1, MaxDataSize = (int)NudMaxDataSize.Value, ReceiveDataInterval = (int)NudReceiveDataInterval.Value, ReceiveTotalBufferSize = (int)NudReceiveTotalBufferSize.Value, SleepingIntervalInMS = ChkSleepingInterval.Checked ? (int)NudSleepingInterval.Value : -1, ExternalActToHandleIncomingData = AnalyzeIncomingDataRoutine1 }; string s = string.Format("FrmTcpClient {0} trys to connect.", Id); Logger?.Info(s); WriteLogToUI(s); if (MyClient.StartConnection()) { UiConfig(true); BWorkerCheckConnected.RunWorkerAsync(); } else { s = string.Format("FrmTcpClient {0} fails to connect.", Id); Logger?.Info(s); WriteLogToUI(s); DisconnectRoutine(); } } catch (Exception ex) { Logger?.Error("Id = {0}", Id); Logger?.Error(ex); } }