如何更快地下载文件?

How can i download a file faster?

我用C#做了一个下载程序。它是一个队列下载器。 您可以在此处查看其工作原理:单击 Express Downloader

有没有更快的下载方法? 这是我使用的方法,必须支​​持简历支持。

private void Download(object startPoint)
    {
        try
        {
            try
            {
                //int startPointInt = Convert.ToInt32(startPoint);
                Int64 startPointInt = Convert.ToInt64(startPoint);
                webRequest = (HttpWebRequest)WebRequest.Create(url);
                webRequest.AddRange(startPointInt);
                webRequest.Credentials = CredentialCache.DefaultCredentials;
                webResponse = (HttpWebResponse)webRequest.GetResponse();
                Int64 fileSize = webResponse.ContentLength;
                strResponse = webResponse.GetResponseStream();
                if (startPointInt == 0)
                {
                    strLocal = new FileStream(txtPath.Text + "\" + filename, FileMode.Create, FileAccess.Write, FileShare.None);
                }
                else
                {
                    strLocal = new FileStream(txtPath.Text + "\" + filename, FileMode.Append, FileAccess.Write, FileShare.None);
                }
                int bytesSize = 0;
                byte[] downBuffer = new byte[4096];
                while ((bytesSize = strResponse.Read(downBuffer, 0, downBuffer.Length)) > 0)
                {
                    strLocal.Write(downBuffer, 0, bytesSize);
                    this.Invoke(new UpdateProgessCallback(this.UpdateProgress), new object[] { strLocal.Length, fileSize + startPointInt });

                    if (goPause == true)
                    {
                        break;
                    }
                }
            }
            catch { }
        }
        finally
        {

            strResponse.Close();
            strLocal.Close();
        }
    }

你必须做两件事,

  1. 获得更快的带宽
  2. 将块大小从 4096 更改为 8192 或任何可以轻松保存在内存中的数字。