4

HTTP マルチパートを使用して、動的に生成されたバイナリ ストリーム (mp4 ビデオ クリップなど) を返し、その後に署名ファイルとその他のコンテンツを 1 つの HTTP 応答メッセージでクライアントに返すことを考えています。私の場合、mp4 (応答メッセージの最初の部分) のサイズは、http ヘッダー フィールドを作成するときに不明であるため、mp4 部分の Content-Length を設定できません。マルチパート境界を使用して各パートを分離する必要があります。ただし、境界文字列が mp4 データに表示される場合、マルチパートは機能しないとアドバイスされました。他の人は、http 応答のどの部分にも表示されない非 BASE64 文字の境界を選択できるように、各部分 (BASE64 エンコーディングなど) をエンコードすることを提案しました。問題は、BASE64 ではサイズが 33% 増加することであり、これは許容できないオーバーヘッドです。質問は:これを回避する方法はありますか?私は何かを逃しましたか?または、それを行うためのより良い方法を知っているかもしれません (1 つの HTTP 応答で複数の部分を返す必要があります)。

どうもありがとう、

4

1 に答える 1

0

クライアントがメッセージ形式を理解している場合は、いつでも境界文字列を削除できるため、問題は発生しません。

境界文字列を覚えて、それがデータストリーム内でエンドピースであることを確認し、それらの部分の間にあるプレーヤーにのみデータを転送する必要があります。

于 2012-12-04T10:06:58.623 に答える