1.下载文件
- vsftpd下载文件的流程
客户端给服务端发起一个下载请求命令RETR,服务端收到命令后,与客户端建立了数据连接通道,给客户端一个150的应答,并完成文件传输,文件传输完毕,关闭数据socket,给客户端一个226的应答。
- eg:ftpproto.c
static void do_retr(session_t *sess)
- 测试:
2.端点续载
- vsftpd
在发送RETR命令之前,多发送了一个REST命令,该REST命令就是断点位置,这样的话进行断点续载,首先打开文件的时候,需要将文件定位到1572864的位置,然后将数据读出来发送给客户端
下载一个比较大的文件
然后中断传输
再次点击下载
- eg:ftpproto.c
static void do_retr(session_t *sess)
- 测试:
正常下载功能
接着查看断点续载功能
进行断点续载