FTP STOR命令,如何知道是否所有数据都已发送?

时间:2012-12-25 21:16:19

标签: ftp ftp-server

我正在尝试构建一个简单的FTP服务器,但对于STOR命令,我不确定如何区分数据连接关闭,因为所有数据都已发送,或者数据连接是否过早关闭。

在RETR命令中,我知道我正在发送的文件的大小,但是在STOR命令中,我不知道应该接收多少字节。

如果数据连接过早关闭,FTP服务器应该做什么?

1 个答案:

答案 0 :(得分:1)

FTP服务器无法知道传输是否中断。这是该协议的缺点。服务器只存储它获得的字节数,如果出现网络问题,则由客户端恢复上传(通常是通过询问服务器的远程文件大小,然后结合跳过字节数)那已经保存了。)

此行为通常会导致设置中存在问题,即服务器端进程需要对上载的文件执行操作,因为它永远不会知道上载何时完成。这通常通过让客户端在上载完成后重命名文件来处理。