0

ファイルとメタデータを別のコンピューターのサービスに送信できるようにする必要があり、このサービスはデータに対して操作を実行し、複数のファイルとメタデータを返す必要があります。

問題は、ファイルが非常に大きい場合があるため、クライアントまたはサーバーでファイルおよび関連するメタデータを保持するためのメモリを割り当てることが現実的でないことです。

ファイルストリームやその他のデータを含めることができるライブラリがあり、それらを単一のストリームに結合してネットワーク経由でストリーミングできるかどうか疑問に思っています。

これまでの私の最善の解決策は、最初にファイル長を含むシリアル化されたメタデータを送信し、次にそのストリームにさまざまなファイル ストリームを追加してから、反対側でストリームを分解することです。うまくいけば、これを解決するためのよりエレガントな方法がありますか?

シリアライズしたいストリームのコンテンツのシリアライズをサポートする BinaryFormatter のようなものを探していると思います。

4

1 に答える 1

0

私のネットワーク ライブラリは、非常に大きなストリームを問題なく送信できます。また、非常に高速に実行できます (現在の HTTP サーバーの実装は、私のコンピューターで 1 秒あたり 2700 の要求を処理します)。

ライブラリにストリームを送信するように指示するだけで、チャンクを使用して送信します。

HTTP サーバーのサンプルを確認してください。これは、本体に対してのみ行われるためです

ラインはContext.Send(message.Body);ストリーム(FileStreamまたは何でも)を送信します

于 2012-11-15T15:39:40.377 に答える