ソフトウェア開発には C#、.Net Framework 3.5 を使用しています。私のアプリケーションは、TCP/IP を介して一度に複数のクライアントに接続し、それらからいくつかのデータを収集します。クライアント数が非常に多い ( 100 以上)。アプリケーション開発プロセスの前に、いくつかの調査を行ったところ、パフォーマンスと管理性の面で非同期ソケットの実装を使用する必要があることがわかりました。
今のところ問題ないようですが、現在、データをクライアントに送信する直前に遅延を設定する最良の方法を探しています。私のアプリケーションは、特定のデータを送信するために約 2 秒待つ必要がある場合があります。System.Threading.Thread.Sleep(2000);
とりあえず、非同期送信メソッドの前にコード行を入れただけです。これは便利な方法ですか、それとももっと良い方法はありますか? このSleep
関数はアプリケーションのメイン スレッドをブロックしますか、それとも非同期ソケットが属するスレッドのみをブロックしますか。