gpt4 book ai didi

cocoa - 如何使用 Cocoa API 加速下载

转载 作者:行者123 更新时间:2023-12-03 16:21:34 24 4
gpt4 key购买 nike

我正在开发一个用 Cocoa 编写的简单下载管理器,实际上我使用 NSURLDownload 来实现这个目的。问题是我猜 NSURLDownload 仅从一个段下载文件,并且我知道其他下载管理器会下载多个段的文件以提高下载性能。

事实上,我认为我必须将要下载的文件分成多个段,并同时下载所有这些段。

问题是我不知道该怎么做。我已经在互联网上搜索了很多,但没有成功。

<小时/>

编辑:这是一个可行的解决方案,感谢 nacho4d 的帮助:

NSURL *downloadURL = [NSURL URLWithString:@"http://www.urltodownload.com"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:downloadURL cachePolicy: NSURLRequestUseProtocolCachePolicy timeoutInterval: 1000.0];
int fromByte = 0;
int toByte = 1000;
NSString *range = [NSString stringWithFormat:@"bytes=%i-%i", fromByte, toByte];
[request setValue:range forHTTPHeaderField:@"Range"];
[[NSURLDownload alloc] initWithRequest:request delegate:self];

最佳答案

我不知道确切的答案,但如果你看到这个 Java example ,您将看到可以在 HTTPConnection 对象中添加“Range”属性来选择要下载的部分:

// Specify what portion of file to download.
connection.setRequestProperty("Range",
"bytes=" + downloaded + "-");

我认为这是一个提示,也许在 NSURLRequestNSURLConnection 等中有一个地方可以放置这个“Range”属性:)

假设这是可能的,我认为您需要同时进行 n 个连接,并在所有连接完成后将所有内容放在一起。

如果您找到确切的答案,我也很高兴知道:)

希望有帮助。

关于cocoa - 如何使用 Cocoa API 加速下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9252218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com