我想做一个FTP客户端从服务器上下载文件的功能.上传文件已经做好.
以下假设上传文件的做法正确,现要参考上传文件来做下载文件.上传文件做法如下:
1.获取本地文件大小为A.
2.读取文件中的内容,放入一个动态分配的尺寸为A的大缓冲区中.
3.用FTP协议的命令一次性SEND出去.但做下载文件时遇到如下困难:
原因是无法获取服务器上文件的大小.
问FTP中是否提供了求要下载的文件尺寸的命令啊?(我看了一下RFC959,没有)如果没有我打算用如下做法,请大虾帮忙审查一下.
1.每次动态开辟一个固定大小的缓冲区.
2.每次读取的数据以链表形式追加到前一块缓冲区后.
3.文件读取完后遍历链表,将缓冲区中数据写入文件.建立链表是为了减少磁盘操作的次数.问这样儿做的话是否可行?是否有更优化的做法?
上面说的下载是最简单的单线程下载就好.