求:c#2.0 多线程下载(ftp、http)
如题,2q --------------------编程问答-------------------- sf --------------------编程问答-------------------- http://www.cnblogs.com/markor/archive/2007/08/10/850909.html --------------------编程问答-------------------- 这个我研究了下,许多地方不清楚,运行时有时可以,有时出错。再有声明下,我需要的情况是这样:
一个用户端,从多个服务器上下载同一文件,即每一个线程负责与一个服务器连接下载数据。类似与p2p的。 --------------------编程问答-------------------- 这里有个跨平台的下载库,支持HTTP,FTP,HTTPS,多线程下载,还能在手机上跑,你可以参考下
http://www.easygeteasy.com --------------------编程问答-------------------- 点量Http、FTP多线程断点续传下载组件(下载DLL)的开发目的是让用户可以无需关心Http/FTP协议的具体细节,只需要几十行甚至几行代码,便可以实现一个功能完善的Http/FTP下载软件。点量Http/FTP下载组件(DLL)支持多线程、断点续传、显示详细下载过程、自动查找镜像网址、支持代理传输等完善的功能。
点量Http、FTP下载内核源码使用高效的c++代码编写,提供标准的动态链接库(DLL),可供C/C++、Delphi、C#、Java、VB等语言和各常用开发环境调用,让您完全像调用系统API一样的调用。
点量Http/FTP组件的功能简介:
标准Http和FTP下载支持:完全标准的Http和FTP协议支持,内部通过网址自动区分是Http还是FTP下载。
极速下载(2.0以后版本):超越国内绝大多数下载软件的易做图。新版内核在2M ADSL的环境下下载,有些文件的速度可以达到1400K字节/秒以上,超过了带宽的极限。易做图可以用极速形容。
多线程传输:可以将文件自动分块,并采用多线程下载。并可自由设置线程数目。
断点续传:点量Http/FTP有优秀的断点续传支持,每次启动自动从上次下载的位置开始,不需要重复下载。
提供详细的下载详情接口(2.0以后版本):可以看到整个下载过程的步骤,比如开启了多少线程、服务器的应答过程、错误信息等。
支持多种高级设置:设置线程数目、磁盘缓存大小、搜索镜像服务器的详细参数设置、下载文件完成后同步文件为服务器上的文件时间、下载过程中可以自定义文件临时后缀、未完成的文件设为隐藏属性。
支持磁盘缓存:点量Http/FTP下载DLL支持设置磁盘缓存,减少对磁盘的读写,并提升易做图。
支持设置Refer:点量Http/FTP下载组件支持设置下载时的Refer,以便可以绕过一些防盗链的网站,直接下载内容。
限速功能:点量Http/FTP下载组件可方便的设置下载限速。
多种磁盘分配方式:点量Http/FTP下载组件支持预分配和边下载边分配两种磁盘方式,满足多种下载需求。
自动搜索镜像加速:点量Http/FTP内置了镜像搜索功能,在下载文件的同时,会自动搜索哪些其它网站还有这个文件,自动从其它网址下载加速。
可提供源码:支付一定的费用,便可以获得全部的点量Http/FTP下载组件的源代码,免除您的所有后顾之忧。
良好的服务:作为点量软件旗下的软件,可享受到点量软件的优秀服务,我们的服务让您如同拥有一个称心的专业员工。
点量Http/FTP 下载组件可以适用于任何Http和FTP下载的领域,让您可以在1天内完成一个完整的Http下载软件的全部功能。比如,您可以用于产品的升级、文件的下载和传输等。
点量Http/FTP内核可以为您带来:
1、大大节省您的开发成本:了解Http和FTP的协议,再去编码、测试,即使对于一个非常有经验的开发人员来说,也需要较长期的时间,此间耗费的人力资源成本和管理成本可谓不少。而使用点量Http/FTP,您就不需要从制造轮子开始制造您的汽车,将注意力集中于车的设计而不是基础设备的建设。何况我们的产品性能是如此优越!
2、强有力的技术支持:作者长期从事下载技术的研发,所提供的技术支持相当于您雇佣了一位具有丰富经验,无需从头学习的开发人员,可以在您的系统建设过程中为您提供整体系统架设的意见。
如果您是个人作为非商业目的使用,您可以自由、免费的使用点量Http/FTP下载组件内核库和演示程序,也期待收到您反馈的意见和建议;如果您是商业使用,那么您需要联系作者申请产品的商业授权。
-----------------------------------------------------------------------------------------------------------------------
点量软件官方地址:http://www.dolit.cn http://hi.baidu.com/dlbtsoft
点量Http/FTP内核SDK下载地址:http://hi.baidu.com/dlbtsoft/blog/item/09fa66d15a258d89a1ec9c6f.html。
--------------------编程问答-------------------- 原理其实很简单:
了解下断点续传,文件分块吧
获取下载文件的大小,然后根据节点获取那些服务器上有,然后根据自己的设定从多大开始分块,
第一个服务器下载第一块 比如: 0-1024字节,
第二个就下载 1025-2048.。。。依次类推。
可以一起往下载保存的文件填充,也可以都下载好后一起合并。
补充:.NET技术 , C#