首页 文章

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

提问于
浏览
2
  • 创建与端口21的控制连接后,FTP服务器在控制连接上发送220(服务就绪)响应 .

  • 客户端发送USER命令 .

  • 服务器响应331(用户名正常,需要密码) .

  • 客户端发送PASS命令 .

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

  • 客户端在数据连接的临时端口上发出被动打开,并发送PORT命令(通过控制连接)以将此端口号提供给服务器 .

  • 服务器此时不打开连接,但准备在端口20(服务器端)和从客户端接收的临时端口之间的数据连接上发出活动打开 . 它发送响应150(数据连接将很快打开) .

  • 客户端发送TYPE命令 .

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

  • 客户端发送STRU命令 .

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

  • 客户端发送STOR命令 .

  • 服务器打开数据连接并发送响应250 .

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

  • 服务器在控制连接上发送响应226 .

  • 客户端发送QUIT命令或使用其他命令打开另一个数据连接以传输另一个文件 . 在我们的示例中,将发送QUIT命令 .

  • 服务器响应221(服务关闭)并关闭控制连接 .


在第14点 .

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

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

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

1 回答

  • 5

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

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

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

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

相关问题