vc 中 ftp 断点续传上传的实现问题
我上网搜索后发现实现方法有以下几种,请高人看看思路对不,有些问题希望高人能帮忙解答:
1.使用 winsock api ,用socket实现,得两个连接,一个是命令连接, 一个是数据连接.流程是:
--> socket 连接服务器(用Serv-U)的21端号
<-- 服务器返回连接成功的信息
--> 发送用户名
<-- 返回用户名正确
--> 发送密码
<-- 服务器返回登录成功
--> 设置传输方式 type I\r\n
<-- 响应传输方式设置
--> 设置模式 pasv\r\n
<-- 返回数据连接的IP和PORT
--> 创建新socket连上面的IP和PORT
<-- 连接成功,发送 appe localfilename remotefilename\r\n
问题就出在appe命令处,服务器上会生成名字为localfilename remotefilename 的空文件,而不是将 本地的 localfilename 续写到 服务器的 remotefilename 文件后面,请高手指点该怎么做?是不是在两个文件名之间加什么转义字符?还是用别的命令续传文件?
2.使用 wininet api ,用InternetConnect()建立连接 ,用FtpFindFirstFile()和 InternetFindNextFile()找到要续传的文件,用 FtpOpenFile()打开该文件,用InternetWriteFile()直接在该文件中续写内容。高人觉得这种方法可行不?