FTP文件传输,客户端可以关闭数据连接吗?如果是这样的话?

时间:2010-07-31 14:13:21

标签: networking ftp

  1. 创建与端口21的控制连接后,FTP 服务器发送220(服务 准备好)对控制连接的响应。

  2. 客户端发送USER命令。

  3. 服务器响应331(用户名正常,密码 是必需的。)

  4. 客户端发送PASS命令。

  5. 服务器响应230(用户登录正常)。

  6. 客户端在短暂的端口上发出被动打开  数据连接并发送PORT命令(结束  控制连接)将此端口号提供给服务器。

  7. 此时服务器不会打开连接,但是   准备发布一个活跃的   打开端口20(服务器端)之间的数据连接   和短暂的港口收到   来自客户。它发送响应150(数据连接   将很快开放。

  8. 客户端发送TYPE命令。

  9. 服务器响应200(命令OK)。

  10. 客户端发送STRU命令。

  11. 服务器以200响应(命令OK)。

  12. 客户端发送STOR命令。

  13. 服务器打开数据连接并发送    回应250。

  14. 客户端在数据连接上发送文件。之后   整个文件发送,数据连接关闭。关闭   数据连接意味着文件结束。

  15. 服务器在控件上发送响应226   连接。

  16. 客户端发送QUIT命令或使用其他命令   命令打开另一个数据连接   用于传输另一个文件。在我们的例子中,QUIT   命令已发送。

  17. 服务器响应221(服务结束)并关闭   控制连接。


  18. 第14点。

    1. 客户端在数据连接上发送文件。之后   整个文件发送,数据连接关闭。关闭   数据连接意味着文件结束。
    2. 客户端是否关闭了数据连接?

      如果是这样,它是如何做到的。只是断开连接!或使用控制连接发送断开命令?

1 个答案:

答案 0 :(得分:5)

默认传输模式为STREAM。在流文件上载中,数据连接刚刚关闭。没有发送命令。只需关闭连接即可。

如果您要发送命令,您发送的任何内容都将附加到文件中。

流模式不可靠,因为没有EOF标记。此外,您必须为每个其他文件重新打开连接。最好使用BLOCKED或COMPRESSED来提高可靠性,并在发送多个小文件时提高性能,尽管协议的开销很小。

使用MODE命令设置传输模式。