[英]FTP file transfer, can the client close the data connection? if so how?
创建到端口21的控制连接后,FTP服务器在控制连接上发送220(服务就绪)响应。
客户端发送USER命令。
服务器以331响应(用户名确定,需要密码)。
客户端发送PASS命令。
服务器以230响应(用户登录正常)。
客户端在临时端口上为数据连接发出被动打开,并发送PORT命令(通过控制连接)以将该端口号提供给服务器。
服务器此时不打开连接,但为在端口20(服务器端)和从客户端收到的临时端口之间的数据连接上发出活动打开做准备。 它发送响应150(数据连接将很快打开)。
客户端发送TYPE命令。
服务器以响应200响应(命令“确定”)。
客户端发送STRU命令。
服务器以200响应(命令确定)。
客户端发送STOR命令。
服务器打开数据连接并发送响应250。
客户端通过数据连接发送文件。 发送完整个文件后,数据连接将关闭。 关闭数据连接意味着文件结束。
服务器在控制连接上发送响应226。
客户端发送QUIT命令或使用其他命令打开另一个数据连接以传输另一个文件。 在我们的示例中,发送了QUIT命令。
服务器以221(服务关闭)响应,并关闭控制连接。
在第14点中
客户端是否关闭数据连接?
如果是这样,它是如何做到的。 断开连接! 或使用控制连接发送断开连接命令?
默认传输模式为STREAM。 在流文件上传中,数据连接刚刚关闭。 没有发送命令。 只需关闭连接。
如果要发送命令,则您发送的所有内容都会附加到文件中。
由于没有EOF标记,因此流模式不可靠。 另外,您必须为每个其他文件重新打开连接。 最好使用BLOCKED或COMPRESSED来提高可靠性,并在发送多个小文件时提高性能,尽管该协议的开销很小。
使用MODE命令设置传输模式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.