热情软件屋

 

实现下载与上传断点续传所使用的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,如何得到"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio