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