项目简介

在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务进程来为客户提供服务。同时每个ftp服务进程配套了nobody进程(内部私有进程),主要是为了做权限提升和控制。可以作为加深Linux学习的一个不错的项目。

实现功能

除了基本的文件上传和下载功能,还实现模式选择、断点续传、限制连接数、空闲断开、限速等功能。

用到的技术

socket、I/O复用、进程间通信、HashTable、零拷贝技术、进程间传递文件描述符……

文章链接

miniFTP项目实战一
miniFTP项目实战二
miniFTP项目实战三
miniFTP项目实战四
miniFTP项目实战五
miniFTP项目实战六

欢迎技术交流q:2723808286
项目开源!!!

最新文章

  1. qq空间等闪动的文字怎么做?
  2. ViewStub源码分析
  3. PHP Fatal error: Class 'DOMDocument' not found
  4. “REST”——Representational State Transfer(表述性状态转移)
  5. JS+JQ手风琴效果
  6. Javascript arguments详解
  7. 安装Android sdk 4.4(19)出现问题的解决方案
  8. MySQL运维相关工具汇总(待补充)
  9. Error Code: 1360 - Trigger does not existQuery
  10. Codeforces Round #436 C. Bus
  11. 转载两篇dedecms的漏洞修复教程
  12. Prometheus 入门与实践
  13. DBX error:Driver could not be properly initialized .... 解决办法
  14. perl控制流介绍(if条件,while,for循环,foreach)
  15. Linux基础命令---join
  16. metamask-iframe-stream,没成功
  17. c# lock的误解
  18. MySQL<添加、更新与删除数据>
  19. 查询表的大小(mysql)
  20. 集合框架之Set学习

热门文章

  1. 1.3.3、通过Header属性匹配
  2. 通过ajax方式在界面上加载loading状态(仅作记录)
  3. pdm文件name与comment互相同步
  4. asp.net mvc中的路由
  5. HCNA Routing&Switching之动态路由协议OSPF基础(一)
  6. 从新建文件夹开始构建ShadowPlay Engine游戏引擎(3)
  7. Linux必备命令 - 常用命令集
  8. FTP传输
  9. vue(21)初识Vuex
  10. 微信小程序云开发-云函数-数据库和云函数获取数据的区别