FTP
文章平均质量分 91
骑猪去兜风..
无
展开
-
FTP简介
什么是FTP?FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Uplo...原创 2019-09-27 16:19:28 · 1389 阅读 · 0 评论 -
主动模式和被动模式
一、FTP两种工作模式主要是针对数据连接而言的,控制连接的建立总是由客户端向服务器端发起。而数据连接通道的建立则不同,既可以是服务器端向客户端发起连接建立数据连接通道,这种模式称为主动模式。也可以是客户端向服务器端发起连接建立数据连接通道,这种模式称为被动模式。详细介绍请看FTP简介二、nobody进程为什么要用两个进程为一个客户端服务?当一个客户端连接过来的时候,如果是wan...原创 2019-01-17 10:39:00 · 1665 阅读 · 0 评论 -
abor的实现源码
带外数据什么是带外数据?带外数据是什么意思?许多传输层都支持带外数据,有时候也称为快速数据。之所以有带外数据的概念,是因为有时候在一个网络连接的终端想“快速”的告诉网络另一边的终端一些信息。这个“快速”的意思是我们的“提示”信息会在正常的网络数据(有时候称为带内数据In-Band data)之前到达网络另一边的终端.这说明,带外数据拥有比一般数据高的优先级。但是不要以为带外数据是通过两条套...原创 2019-01-16 12:51:34 · 2888 阅读 · 0 评论 -
ftp中的空闲断开
为什么要空闲断开?对于服务端而言,由于连接数和内存的限制,我们不可能对一个长时间处于不活跃的客户端,单独维护一个fd,一个进程/线程始终为其服务,fd单个进程上限默认值为1024,由于内存的限制,也不能无限制的分配出进程或者线程为其服务,这个时候我们就需要断开在规定时间内没有任何动作的客户端,腾出内存为其他客户端服务。控制连接空闲断开实现1.首先是安装信号SIGALRM并启动定时闹钟...原创 2019-01-16 14:04:20 · 1344 阅读 · 0 评论 -
如何实现限制上传或下载速度
预备知识1.gettimeofday函数作用:在C语言中可以使用函数gettimeofday()函数来得到时间。它的精度可以达到微妙。函数原型:#include<sys/time.h>int gettimeofday(struct timeval*tv,struct timezone *tz )返回值:函数执行成功后返回0,失败后返回-1,错误代码存...原创 2019-01-16 14:43:33 · 7568 阅读 · 5 评论 -
下载和上传
一、预备知识1.lseek函数在程序中作用是断点续载或断电上传时偏移文件指针lseek函数介绍2.fcntl函数在此程序中的作用是对文件加读写锁fcntl函数介绍二、下载的实现1.不论是上传还是下载,首先都要进行数据连接字的创建将创建好的数据连接套接字保存到data_fd中//数据连接通道的创建//创建数据连接,获取数据连接所对应的套接字,有可能是主动模式也可能...原创 2019-01-16 15:37:08 · 403 阅读 · 0 评论 -
最大连接数与每ip连接数的限制
一、最大连接数的限制概念这是指服务器可以同时接收的最大连接数,防止服务器压力过大而在应用层进行的限制。实现总体思路:将当前连接数保存于变量num_clients变量中,然后与配置项numble_max_clients进行比较,如果超过了就不让登录,当一个客户登录的时候num_clents加1,当一个客户退出的时候,num_clients减1。1.一旦服务器端与客户端经过三次握手...原创 2019-01-16 21:22:30 · 7176 阅读 · 0 评论