实现下载与上传断点续传所使用的ftp指令是否一样
编号:QA003313
建立日期: 2000年9月7日 最后修改日期:2000年9月7日
所属类别:
bellalen:
操作系统: windows9x/windows2000
编程工具: microsoft visual basic
问题: 高手:
你好!
我在写一个ftp断点上传的软件,我想请问实现下载与上传断点续传所使用的ftp指令是否一样。我的思路是这样的:
先建立一个与ftp服务器的连接(利用winsock,端口 21)然后,根据返回代码
如FTP_RESPONSE_SERVICE_READY_FOR_NEW_USER
然后发送验证用户名和密码的命令。如果返回代码为正确的状态。则表示登录到了ftp服务器
在上传时我使用的是这几个指令:
type指令传输的文件格式 ascii、指令binary
port具体含义不知
rest指令文件上载开始的地址
sort指令表示通知服务器建立一个文件
然后以二制格式循环读取文件、使用winsocket
发送到服务器。
按这个方法,文件是上传到服务器上了,但是
文件的大小却变了,我使用的是binary的传输模式。有时候小的文件可以准确无误发送到服务器上。我想请问,使用这种办法怎样实现文件准确无误的上传到服务器,并且能续传。多谢啦!!!!
水平: 中级
回答:
实现下载和上传断点续传所使用的ftp指令不完全一样,按照RFC959规定,断点上传的指令为APPEND,不过有的服务器没有实现这个命令,有的服务器必须设置专门的权限才能调用这个命令。虽然也有服务器支持REST和STOR指令(不是SORT指令),但不是所有服务器都支持这种断点上传上传方式。如果你要想知道每个FTP指令的具体含义,可以参考RFC959。
你的问题很可能是由于二进制和ASCII设置不正确导致。因为UNIX和Winodws对回车、换行的处理不同,所以对文本文件应该使用ASCII方式,而其他文件使用二进制方式,否则可能在传递后有问题。
相关问题:
QA001872 "如何实现断点传续的功能"
QA002804 "什么是RFC,如何得到"
此问题由李海回答。
| |
|
|
| |
|
|