C++实现FTP断点上传和下载思路

一、从客户端上传文件给服务器

    1、客户端发送 “STOR+文件名” 命令给服务器

    2、客户端将文件数据 fread() 和 send() 给服务端

    3、服务端用 recv() 接收数据后 fwrite() 至本地文件

    4、网络断开,关闭 socket

    5、客户端重新连接至服务端并正常登陆

    6、客户端发送 “APPE+文件名” 命令给服务器

        (1)、客户端发送 “SIZE+文件名” 命令给服务器

        (2)、服务器返回文件大小

    7、客户端根据文件大小,从断点处发送数据给服务器

    8、服务端接收数据并追加到文件末尾


二、从服务器下载文件到客户端

    1、客户端发送 “RETR+文件名” 命令给服务器

    2、服务器将文件数据发送给客户端

    3、客户端接收后写至本地文件

    4、网络断开,关闭 socket

    5、客户端重新连接至服务端并正常登陆

    6、客户端发送 “REST+文件长度” 命令给服务器

    7、客户端发送 “RETR+文件名” 命令给服务器

    7、服务器根据文件大小,从断点处发送数据给客户端

    8、客户端接收数据并追加到文件末尾

你可能感兴趣的:(C++笔记)