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

use*_*745 2 ftp networking

  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(服务关闭)并关闭控制连接.


在第14点.

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

客户端是否关闭了数据连接?

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

Mar*_*ams 5

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

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

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

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