Qtで並行して大きなファイルをチャンクでダウンロードするにはどうすればよいですか。そのため、ファイルのダウンロード時間が短縮されます。
質問する
4452 次
1 に答える
13
QNetwork を使用していて、ダウンロードが HTTP GET であると仮定すると、次の手順を実行する必要があります。
- HEAD リクエストを使用してファイル サイズを取得し (
Content-Length
)、サーバーが Range リクエストをサポートしていることを確認します (Accept-Ranges
) 。 - GET リクエストでパイプラインを有効にする
Range
コンテンツのサイズに基づいてヘッダーを設定します
HttpPipeliningAllowedAttribute
属性を設定してリクエストで HTTP パイプラインを有効にするには:
QNetworkRequest req(url);
req.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true);
範囲ヘッダーを設定します。
req.setRawHeader("Range", "bytes=0-499");
于 2012-04-18T11:36:20.953 に答える