/// <summary> /// DisConnect /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected override void ButtonF2_Click(object sender, EventArgs e) { base.ButtonF2_Click(sender, e); // ▼▼▼ 業務処理 ▼▼▼ ReadCancelTokenSource.Cancel(); TcpClientUtil.Dispose(); TcpClientUtil = null; SetControlEnabled(ActionMode.Init); // ▲▲▲ 業務処理 ▲▲▲ }
private async void CloseTcpClient() { // TCP破棄 TcpClientUtil?.Dispose(); TcpClientUtil = null; // キャンセル ReadCancelTokenSource.Cancel(); // 受信スレッド終了待ち await readLoopTask; readLoopTask?.Dispose(); readLoopTask = null; }