0

そこにいるすべての専門家にこんにちは:)

これが私の最初の質問です。

問題の説明:

Market Data Feed Handler を作成する必要があります。これは Windows サービスになり、2 つのソケットを使用します。

Socket A : サブスクライブするアプリケーションと Feed Handler 間の通信用 (Feed Handler は接続要求と Item Request を受け入れます)。

ソケット B : フィード ハンドラーと Reuters/Bloomberg などの外部市場データ プロバイダー間の通信用。

どちらの場合も、リクエスト/レスポンスは同じポートを使用します。

注 : 外部システムからのデータの量は少ないです (外部システムは、この時点で、購読されている情報のみを送信します)。ただし、後でそれをスケーリングする必要がある場合があります。一部のプロバイダーはすべてのデータをスローし、フィード ハンドラーはサブスクリプションに基づいてローカルでフィルター処理する必要があります。

私の質問:

  1. どのスレッド モデルを使用する必要がありますか?
  2. どの I/O 戦略を使用する必要がありますか?
  3. 両方のケースを念頭に置いて、個別の要求/応答スレッドを作成する必要がありますか?

編集 1: Winsock に関するいくつかのチュートリアルを読んだ後、非同期動作にイベント オブジェクトを使用する予定です。

ここでの懸念点は、単一のスレッドが着信クライアント接続をリッスンし (受け入れ)、他のサーバーに接続し、2 つの異なるポートで送信/受信する必要があることです。

スレッド A 1) 着信接続をリッスンします。(連続) 2) 接続されたクライアントからの購読/購読解除要求の受信。(まれに) 3) 外部サーバーに接続します (1 回のみ)。4) クライアントからのリクエストを外部サーバーに転送します。(まれに) 5) 外部サーバーからデータを受信します。(連続) 6) このデータを接続されたクライアントに送り返します。(連続)

私の質問は、非同期 I/O モデルを使用して、単一のスレッドがクライアントとサーバーの両方として機能できるかどうかです。

前もって感謝します。ディーパック

4

1 に答える 1

0

最も簡単なスレッド モデルは、シングル スレッド同期のようです。プロバイダーのフィルターを実装する必要がある場合は、それをソケットイン/ソケットアウトの個別のプロセスとして実装します。

于 2013-02-11T08:39:03.200 に答える