0

ファイル転送を保証しようとしています。ある種のチェックサムでそれを行うことができると思います。

また、いくつかの内部の問題により、ストリーミングで行う必要があります。

転送前後のダイジェストを計算しようと思ったのですが、転送の最後にしかエラーが出ません。エラーがある場合は再送信して、ある種のチャンクチェックサムを探しています。

なにか提案を?

ありがとう!

4

1 に答える 1

1

スタックのより高いレベルで何かを行う必要があると思います.HTTPには、ストリームの途中で応答の一部を再送信する機能がありません. クライアントが HTTP 要求を作成すると、別の要求を作成する前に HTTP 応答全体を受信する必要があります。HTTP チャンクは主に、事前に応答のコンテンツの長さを計算する必要なく、キープアライブ接続を容易にするためのものです。

ここでカスタムのクライアントとサーバーについて話している場合 (ブラウザーについて話している場合、この質問は意味をなさないため、私はそうしていると思います)、おそらくそれを行う 1 つの方法は、サーバーがファイルを分割し、キープアライブ接続を使用してクライアントにファイルの各部分を一度に 1 つずつ要求させます。応答 (つまり ETag ヘッダー) の各部分のチェックサムを送り返す場合、クライアントでチェックサムを計算して、正しいバイトを受信したことを確認できます。チェックサムが一致しない場合は、クライアントにそのチャンクをもう一度要求してもらいます。

于 2010-07-20T23:08:35.840 に答える