miniftp项目总结

本文总结了miniftp项目,探讨了为何使用进程而非线程,详细阐述了FTP的主动和被动模式的工作流程,以及这两种模式在父进程辅助连接中的实现。项目涵盖了用户鉴权、文件上传下载、限速功能,同时讨论了连接管理和限制等难点。
摘要由CSDN通过智能技术生成

一.知道miniftp的项目框架
系统逻辑结构
服务器有个主进程,用于做控制连接,连接成功后,主进程会创建一组进程组为客户端服务,其中进程组有一个nobody进程和(ftp)服务进程,服务进程会解决客户端的各种请求(上传,下载,删除,重命名,创建目录)
二.为什么用进程不用线程
所有的线程会共享进程的资源,因为服务进程要为很多客户端服务,我们希望每个客户端独立起来,而不是相互影响,如果非要使用线程会使客户端不能独立,让每个客户端都拥有自己的资源,都有自己的进程资源,有自己的进程空间,操作都是独立的。健壮性,如果线程出现信号中断或者异常,会导致整个服务器的全部用户。
三.主动模式和被动模式分别是什么?
这个是站在服务器的角度去看待模式
主动模式:服务器主动连接客户端,connect—>accept
被动模式:服务器被动客户端连接,accept—>connect
四.主动模式的工作流程和被动模式的工作流程
知道哪台电脑和电脑的哪个程序,ip地址和port端口号
主动模式:
1.客户端向服务器发送PORT命令,PORT命令会携带客户端的IP地址和端口号
2.服务器接受PORT命令后,解析出客户端的ip和port进行保存
3.创建数据连接,(服务器创建套接字,绑定20端口(协议要求),然后connect)
被动模式:
1.客户端向服务器发送PASV命令,请求服务器建立被动连接
2.服务器收到P

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值