いつもお世話になっております。
今回の質問はデータを連続で送信している際にメインフォームが操作できなく現象についてです。
現象の再現方法
1,TCP_TEST_FORM_APPRI_SERVERのメインフォームからServerFormを二つ以上立ち上げる。
2.TCP_TEST_FORM_APPRI_CLIENTを立ち上げて二つ以上接続する。
3,TCP_TEST_FORM_APPRI_SERVER側で設定画面から連続送信チェックボタンにチェックをする。
4,TCP_TEST_FORM_APPRI_CLIENT側で何らかの文字をサーバーに送る。
5,TCP_TEST_FORM_APPRI_SERVERのメインフォームが操作できず、サーバー側からデータが送られ続ける状態となる。
やりたい事はある特定の文字がきたらサーバー側が文字を連続で返すようにしたく、連続送信をサーバー側で止める事のできる形にしたいのです。
連続送信時はクライアント側からデータが受け取れる状態にもしたいと考えています。(クライアント側からも停止文字を送りたい為。)
フォームの操作ができなくなるとは考えいなかったので、困っています。
これはスレッドの重複によるものなのか、それともループのしすぎでほかの処理ができなくなっているのか、どなたかわかる方がいらっしゃればご教授をお願いします。
前回と同様にProjectをアップロード致しますので、お手数をかけますがDLしてソースを見てもらえればと思います。
リンク内容:DLパス 今年の西暦4桁を数字で
VB.net
1 Private Sub ContinuousSendMethod(ByVal sendData As String) 2 3 Try 4 Do 5 If setting.NoContinueCheck.Checked Then 6 Exit Do 7 End If 8 '送信文字一覧に書き込む 9 RaiseEvent WriteSendData(sendData) 10 11 '送られてきたデータの判定をクライアント側に送信 12 SendCode(sendData) 13 Loop 14 Catch ex As Exception 15 RaiseEvent WriteLog("連続送信時エラー " + ex.ToString()) 16 Return 17 End Try 18 End Sub
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/14 14:11