網上沒找到FtpWebRequest多線程下載的資料,自己寫了一個。但沒達到預期效果,下面是測試結果:
//1線程下載133M 18秒
//5線程 下載133M 40秒
//單線程 下載133M 12秒
期望高手不吝賜教,下面是完整代碼
首先命名空間
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Net;
類主體:
代碼
public class MultiFtpService
{
#region 變量
private string _Server;//服務器地址
private string _UserName;//用戶名
private string _Password;//密碼
private int _Port;//端口
private long _FileSize;//文件大小
private string _FileUrl;//文件地址
private string _SavePath;//保存路經
private string _SaveFileName;//保存文件名
private string _SaveExtName;//保存文件擴展名
private int _ThreadNum;//線程數量
private short _ThreadCompleteNum;//線程完成數量
private bool _IsComplete = false;//是否完成
private volatile int _DownloadSize;//當前下載大小
private Thread[] _Thread;//線程數組
private Li