如何不连续地从服务器下载数据?

时间:2012-04-16 15:33:03

标签: c# windows-phone-7

我需要从服务器下载大数据,因为数据太大,我无法一次下载,你有什么想法吗?非常感谢你。

3 个答案:

答案 0 :(得分:0)

我能想到的唯一合理的方法是将数据预先安排到块中以便下载索引。索引随接收到的块数递增,因此当服务器发送文件时,它知道它可以从字节流中跳过(chunkCount * chunkSize)并开始向下发送下一个chunkSize字节。

当然,这意味着相当多的请求,所以YMMV。

答案 1 :(得分:0)

如果服务器支持,您可以使用HTTP字节范围来请求文件的特定部分。

此页面描述了HTTP字节范围请求: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.1

以下代码创建一个请求,要求跳过前100个字节,但返回文件的其余部分:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"http://example.com/somelargefile");
request.Headers.Add("Range", "bytes=100-");

答案 2 :(得分:0)

MSDN上有一个Background Transfer Service代码示例可能有所帮助。我从来没有使用它,但样本可能会给你一个开始的地方。