つまらないタイトルで申し訳ありませんが、より良いタイトルを見つけるのに15分間苦労した後、私はただあきらめました。
次のシナリオを想像してください。
A
C# で記述されたデスクトップ アプリは、ユーザーの会話をリッスンし、スピーチが行われているWAV
ときにファイルをチャンク (byte[]
)に変換します。A
次に、スピーチがまだ行われているため、これらのチャンクをサーバーB
(Windows サーバー)に送信する必要があります。- サーバー
B
はすべてのチャンクが到着するのを (音声の完了時に) 待機し、向きを変えて、音声の完全な表現を使用して、サーバーC
(サード パーティの音声からテキストへのレコ エンジン)に対して 1 つの HTTP POST を作成します。byte[]
- サーバー
B
は応答を取得し、結果の文字列を処理してから、オブジェクトをデスクトップ アプリに送り返しますA
(文字列または画像の可能性があります)。
要件の 1 つ (太字のステートメント) は、効率を高めるためにA
、チャンクの への送信を開始する前にスピーチが完了するのを待つべきではないということB
です。
TCP ソケットを使用するテスト ソリューションをまとめました (正常に動作するようです) が、ソケットを使用した経験がほとんどないため、少し気が進まない (すべての制限について確信が持てない)。
私たちの目的を達成するためのより良い提案はありますか?
PS: まだ確認が必要なもう 1 つの要件は、A
「管理されていない」C++ で記述されている可能性があるため、純粋な .NET 実装 (WCF の二重サービスなど) を妨げる可能性があります。