我想在C#中使用Multi-Threads下载单个文件.例如:Thread1开始从1%下载到40%.Thread2开始从41%下载到70%.Thread3从71%开始下载到100%
请给我一些代码.提前致谢
如何使用 HttpRequest 类并调用 AddRange 方法。这应该是一个带有偏移量的标头,从该标头开始下载。
\n\n var request = HttpWebRequest.Create(new Uri("http://www.myurl.com/hugefile"));\n\n request.Method = "GET";\n request.AddRange(offset_for_this_thread); // I assume you have calculated this\n // before firing threads\n Stream reponseStream = request.GetResponse().GetResponseStream();\n
Run Code Online (Sandbox Code Playgroud)\n\n然后,您可以从 \xc2\xb4responseStream\xc2\xb4 读取数据,并在完成后将其与其他线程合并。
\n\n然而,正如其他人所注意到的,只有当您有两个适配器,都连接到互联网,并且这些适配器之间有某种带宽平衡时,这才会带来价值……否则 Windows 可能会将所有内容转移到同一个连接。
\n