Ftp协议支持REST和RETR指令,可以用这两个指令来指定要下载起始位置,如下所示(假设要下载的文件总大小为1500bytes,用三个线程下,每个线程下载500bytes, 文件名为file):
a. 首500字节: 首先用REST 0设置从第0个字节开始下载,然后用 RETR file指定要下载的文件,启动数据接收,开始下载。
b. 次500字节和最后500字节的做法和上面一样,唯一的区别在于REST指定的起始位置不一样,次500字节为REST 500,最后500字节为REST 1000。
需要注意,Ftp不能像Http那样,指定要下载的范围,只能指定要下载的起位置。因此,应用需要自己把握下载了多少个字节,比如说,要下载中间500个字节,用REST设置完起始位置,开始下载后,如果应用判断到接收的数据已大于等于500个字节,就需要停止下载。
a. 首500字节: 首先用REST 0设置从第0个字节开始下载,然后用 RETR file指定要下载的文件,启动数据接收,开始下载。
b. 次500字节和最后500字节的做法和上面一样,唯一的区别在于REST指定的起始位置不一样,次500字节为REST 500,最后500字节为REST 1000。
需要注意,Ftp不能像Http那样,指定要下载的范围,只能指定要下载的起位置。因此,应用需要自己把握下载了多少个字节,比如说,要下载中间500个字节,用REST设置完起始位置,开始下载后,如果应用判断到接收的数据已大于等于500个字节,就需要停止下载。