Vb.net 分块从FTP服务器下载大文件

Vb.net 分块从FTP服务器下载大文件,vb.net,download,ftp,large-files,Vb.net,Download,Ftp,Large Files,我需要从FTP服务器下载一个大文件。一个新文件每周上传一次,我需要第一个下载该文件。我做了一个检查,检查文件是否上传,如果文件在那里,它将开始下载。问题是这是一个大文件(3 gb)。我可以在最初几分钟内下载大约10%的文件,但随着越来越多的人发现文件被上传,avg的下载速度越来越慢,下载剩下的80-90%需要3-4个小时 时间不是一个大问题,但如果我能更快地完成下载,那就太好了。问题是我的下载从未完成,我想这是因为连接超时 解决方案是延长下载超时时间,但理想情况下我还有另一个建议。我的建议是分块

我需要从FTP服务器下载一个大文件。一个新文件每周上传一次,我需要第一个下载该文件。我做了一个检查,检查文件是否上传,如果文件在那里,它将开始下载。问题是这是一个大文件(3 gb)。我可以在最初几分钟内下载大约10%的文件,但随着越来越多的人发现文件被上传,avg的下载速度越来越慢,下载剩下的80-90%需要3-4个小时

时间不是一个大问题,但如果我能更快地完成下载,那就太好了。问题是我的下载从未完成,我想这是因为连接超时

解决方案是延长下载超时时间,但理想情况下我还有另一个建议。我的建议是分块下载文件:现在我正在一次下载,从开始到结束。一开始下载速度很快,但随着越来越多的人开始下载,我们所有人的速度都变慢了。我想把下载分成小块,然后让所有单独的下载同时开始。我做了一个例子:

这里我有8个起始点,这意味着我将以8个部分的zip文件结束,下载结束后,我需要将其重新组合为一个文件。这是否可能?我将如何处理此解决方案?如果我能做到这一点,我将能够在大约10-15分钟内完成整个下载,我不必再等待额外的3-4小时下载失败,然后重新启动下载

目前我使用web客户端下载ftp文件,因为所有其他方法都无法完成下载,因为该文件大于2,4 gb

Private wc As New WebClient()
wc.DownloadFileAsync(New Uri("ftp://user:password@ip/FOLDER/" & FILENAME), downloadPath & FILENAME)

我知道这有点偏离主题,但是考虑一下。请不要把标签放在标题中。见: