2011-10-18 11 views
1

私は少なくとも3つのTCPクライアントを持っていますが、それぞれにスレッドがあります。私はメッセージを送り、答えを待っていますが、時には、すべてのクライアントからの応答を受け取るのを待たなければなりません。これは、サーバーに送られたメッセージの種類によって異なります。私はすでにクライアントにメッセージを送って受信するようにしましたが、他のクライアントの応答を待たなければならないときは、今までこれを行うことができませんでした。TCPメッセージを同期する

答えて

1

限りあなたは、私はC#の/を想定して、ご使用の環境/言語については言及しなかったとして。NET 4

あなたが応答の到着を知らせるために、各クライアントのためのメカニズムが必要です。これは通常AutoResetEventsで行われます。各クライアントは自分の応答をサーバーに返します。サーバ自体は、クライアントがそれを送信したときの応答(または接続などの他のプロパティ)から抽出することができます。その後、彼は適切なAutoResetEventを設定します。

以前にメッセージの送信を開始したスレッドは、後ですべてのAutoResetEventsが設定されるのを待つことができます。

関連する問題