02 2021 档案
摘要:项目简介 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务进程来为客户提供服务。同时每个ftp服务进程配套了nobody进程(内部私有进程),主要是为了做权限提
阅读全文
摘要:文章目录 使用标准I/O的痛点零拷贝技术介绍直接I/O操作mmap内存映射sendfile 在文件描述符之间传递数据 使用标准I/O的痛点 在Linux中 标准I/O操作都是基于数据拷贝的缓冲机制,从内核中拷贝数据到用户空间的缓冲区中,然后将用户缓冲区中的数据拷贝至内核中。所以I/O操作频繁的使用会
阅读全文
摘要:文章目录 文件描述符文件数据结构共享文件UNIX域socket实现传递文件描述符 进程间传递打开的文件描述符,并不是传递文件描述符的值。先说一下文件描述符。 文件描述符 对内核来说,所有打开的文件都会通过文件描述符引用,文件描述符在进程中是一个非负整数,文件描述符在进程中是从0开始,默认0与标准输入
阅读全文
摘要:项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务进程来为客户提供服务。同时每个ftp服务进程配套了nobody进程(内部私有进程),主要是为了做权限
阅读全文
摘要:项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务进程来为客户提供服务。同时每个ftp服务进程配套了nobody进程(内部私有进程),主要是为了做权限
阅读全文
摘要:项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务进程来为客户提供服务。同时每个ftp服务进程配套了nobody进程(内部私有进程),主要是为了做权限
阅读全文
摘要:项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务进程来为客户提供服务。同时每个ftp服务进程配套了nobody进程(内部私有进程),主要是为了做权限
阅读全文
摘要:项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务进程来为客户提供服务。同时每个ftp服务进程配套了nobody进程(内部私有进程),主要是为了做权限
阅读全文
摘要:项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务进程来为客户提供服务。同时每个ftp服务进程配套了nobody进程(内部私有进程),主要是为了做权限
阅读全文
摘要:文章目录 1.26 grep 命令1.27 assert() 断言函数1.28 字节对齐1.29 FTP 主动模式主动模式: 1.30 FTP 被动模式被动模式: 1.31 NAT防火墙对 PORT/PASV的影响什么是NAT客户端处于NAT下的主动模式客户端处于NAT下的被动模式服务器处于NAT下
阅读全文
摘要:文章目录 1.21 字符串数组问题1.22 二维数组注意事项1.23 二维数组的动态声明1.24 宏定义中 do{ }while(0)1.25 find 命令 1.21 字符串数组问题 分析下列输出: char a[] = {'a', 'b', 'c'}; cout << strlen(a) <<
阅读全文
摘要:文章目录 1.16 算法:二维数组中的查找方法一:遍历数组方法二:线性查找 1.17 算法:替换空格方法一:C++string类处理函数appendpush_backC++ 的字符串库 方法二:遍历+字符数组 1.18 算法:从尾到头打印链表方法一:遍历求长度后逐一打印方法二:递归方法三:入栈+出栈
阅读全文

浙公网安备 33010602011771号