ftp server

前段时间做了一个ftp  server的小项目,其实自己做的不太多,网上借鉴的资料比较多,但是自己还是学到了很多东西,在这里总结一下,以备后来再看的时候

能很快的想起来。


ftp的过程(按照正确的流程):

首先,ftp客户端发送用户名usename,服务端进行验证并返回一个返回信息,接着客户端发送密码passwd,服务端验证若正确则建立连接,此时登陆成功。

其次,登陆成功后,客户端发送SIZE, 告诉服务器要上传的文件名, 服务器端解析获得文件名,并返回相关信息(文件是否找到或者权限问题等),

若成功,则返回代码213 ,并返回服务端的这个相同文件名的文件大小,若没有这个文件,则返回0(若之前该文件没有传完,支持续传功能)

然后,客户端发送PASV, 等待服务器端建立数据连接,专门用来接收文件的连接,服务端发送对应的响应码

然后,客户端发送ALLO, 告诉服务器要上传的文件的大小,服务端返回成功码后,客户端接着发送APPE, 开始上传数据

之后,客户端发送RNFR,告诉服务器要修改某个文件的文件名称,服务端给出对应的响应

之后,客户端发送RNTO, 把新的文件名字发给服务器,至此文件接收结束

解析文件的时候,要确保文件接收完成后,再进行相关的文件的操作,即在客户端发送命令RNTO,服务器解析完之后



其他相关小知识:

图片的编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值