可以先了解一下协议.
你可以使用telnet 到一个ftp站点最好是本机上的IIS
TELNET 127.0.0.1 ; 系统会显示欢迎信息
USER anonymons ; 匿名登陆,系统会提示你写入密码 也可以为空
PASS
REST 100 ; 这一句是测试系统是否支持断点下载的, 一般现在的server都支持的
SIZE test.zip ; 取得你要的文件的尺寸
TYPE I ; 设为以二进制传输的方式
PASV ; 以被动方式请求数据传输端口,系统会发回如
192,168,0,34,5,124) 前面4个数字是ip地址,后面的组合是端口地址这里需要一个算法合成PORT = 5 shl 8 + 124; 这个时候你可以在使用telnet 192.168.0.34 1404 这里是准备好了数据连接然后再输入去文件的命令.
RETR test.zip ; 你就可以看到刚刚打开的数据连接会不断的传输数据,知道文件传输完毕.
QUIT ; 退出ftp.
测试过原理之后就可以考虑怎么写程序了.
断点下载就是把文件分成几块然后使用rest 命令设定起始位置传输完成需要的字节数之后在断开数据连接就可以了.
你可以试一下的.
我使用socket 的阻塞方式传文件.
有问题可以讨论一下.
cloudqq@magicdown.com, http://www.magicdown.com