2016-11-02 8 views
-1

サーバ(IPカメラ)からデータを連続して読み取ることができます。これは200 msごとにデータを送信します。私はListに入ってくるデータを保存しています。そして、後でサーバを切断すると、ListのすべてのデータがTextファイルに出力されます。しかし、while(true)ループを使用してデータを連続的に読み込むと、プログラム全体が停止してしまいます。そのため、切断ボタンをクリックできません。また、同じデータはテキストファイルに格納されません。親切にも、早く私を助けてください。IPアドレスを使用してサーバからデータを読み込み、C#でテキストファイルに保存

ありがとうございます。

+0

コードを投稿してください – Tinwor

+1

データを読み取るために別の 'スレッド 'を使用する必要があります。したがって、_mainスレッドをブロックしません。あなたはそれを行う方法についてあなたの宿題をするかもしれませんし、もしあなたが他の問題を抱えているならあなたのコードを投稿してください。 – Prisoner

+0

デッドロックや何かを入力すると、UIスレッドをブロックしているようです。 – rmjoia

答えて

2

は、あなたのpoblemはあなたがUI Thread内のループサイクルを使用し、UIスレッドがwhile(true)によってロックされているため、フォーム内の他のUI elementをクリックすることはできません。この理由のためにされているという事実に関連しているようです。
問題の最も簡単な解決策は、ループサイクルを別のThreadの中で実行することです。

0

WhileループはUIスレッドで実行されているため、このループはバックグラウンドスレッドで実行する必要があります。 BackgroundWorkerまたはBackgroundThreadを使用できます。

関連する問題