私は少なくとも3つのTCPクライアントを持っていますが、それぞれにスレッドがあります。私はメッセージを送り、答えを待っていますが、時には、すべてのクライアントからの応答を受け取るのを待たなければなりません。これは、サーバーに送られたメッセージの種類によって異なります。私はすでにクライアントにメッセージを送って受信するようにしましたが、他のクライアントの応答を待たなければならないときは、今までこれを行うことができませんでした。TCPメッセージを同期する
1
A
答えて
1
限りあなたは、私はC#の/を想定して、ご使用の環境/言語については言及しなかったとして。NET 4
あなたが応答の到着を知らせるために、各クライアントのためのメカニズムが必要です。これは通常AutoResetEventsで行われます。各クライアントは自分の応答をサーバーに返します。サーバ自体は、クライアントがそれを送信したときの応答(または接続などの他のプロパティ)から抽出することができます。その後、彼は適切なAutoResetEventを設定します。
以前にメッセージの送信を開始したスレッドは、後ですべてのAutoResetEventsが設定されるのを待つことができます。
関連する問題
- 1. TCP - クライアントの同期
- 2. JMSで同期メッセージと非同期メッセージを使用するタイミング
- 3. 非同期サーバー側TCP/IP
- 4. TCPクライアント非同期コールバックモード
- 5. ブーストAsioマルチスレッドTCP同期サーバー
- 6. JavaのTCP同期方法
- 7. クライアントのタイマーを同期させる - TCP
- 8. 非同期/同期およびTCPまたはUDP
- 9. 非同期TCPクライアント接続でハングアップ
- 10. node.jsとのファイル同期:unision == tcp == node ----- [http] ----- node == tcp == unison
- 11. tcpメッセージ通信
- 12. プリズムで同期メッセージを渡す
- 13. 同期チャットプログラムを同期してメッセージを送受信する方法は?
- 14. ネットワークを介したメッセージの同期
- 15. 非同期タスクからメッセージを表示
- 16. TCP/IP、非同期呼び出しで初期化するグローバル変数
- 17. Clojureメッセージ処理/非同期、マルチスレッド
- 18. シンプルで高速な非同期バイナリTCPソケットサーバーですか?
- 19. Web-Workerでメッセージを同期的に待機する
- 20. 非同期メッセージをJSF2 faceletに挿入する
- 21. 特定のスレッドで同期I/Oを使用するboost asioマルチスレッドtcpサーバー
- 22. Meteor.methodsを同期非同期にする
- 23. 非リアルタイムゲームのための良い非同期TCPベースのプロトコル?
- 24. バックグラウンドとcontentscriptの間でメッセージを同期させる方法は?
- 25. メッセージキューとISO8583メッセージを使用したTCP
- 26. Javaの非同期スレッドにメッセージを渡すJ2ME
- 27. Pika RabbitMQクライアントによる非同期メッセージ処理
- 28. C#TCP歓迎メッセージを読んで、コマンドを送信する
- 29. tcpメッセージの終わりのベストプラクティス
- 30. TCPストリームでのメッセージの送信