2

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

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

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

4

1 回答 1

2

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

这种行为通常会导致设置中出现问题,因为服务器端进程想要对上传的文件采取行动,因为它永远无法知道上传何时完成。这通常通过让客户端在上传完成后重命名文件来处理。

于 2016-08-11T19:21:37.660 回答