ftp程序设计
来源:互联网 发布:xp如何连接网络打印机 编辑:程序博客网 时间:2024/05/01 23:44
ftp使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。
控制连接使用类似 TELNET 协议在主机间交换命令和消息。
文件传输协议是tcp/ip网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。
ftp客户端可以可以给服务端发出命令来下载文件,上传文件,创建或改变服务器上的目录。
ftp是应用层的协议,它基于传输层,为用户提供服务,负责进行文件的传输。
ftp是一个八位的服务器-客户端协议,能操作任何类型的文件而不需要进一步处理。
ftp有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登陆进程。
ftp是tcp/ip提供的标准机制,ftp使用tcp的服务。
要实现ftp,需要实现ftp控制帧,即telnet交换信息,包含命令和选项。
ftp控制帧可以使用 ASCII 文本,分命令和消息。消息是对命令的响应。由带有解释文本的应答代码构成。
ftp地址格式:
ftp://user:password@ftp服务器ip或域名:ftp命令端口/path/file
ftp程序执行的流程:
1、client 连接server
2、client给server发命令
3、server执行client发的命令
4、server返回命令执行结果给client
ftp主要功能,从另一个机器拷贝文件到本地,或从本地拷贝文件到另一个机器。
ftp有两种工作模式:主动和被动。
主动模式要求client和server端同时打开并且监听一个端口以建立连接。在这种情况下,client由于安装了防火墙会产生一些问题。
被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过client安装了防火墙的问题。
主动模式ftp连接步骤:
A 、 client打开一个随机的端口(大于1024,假设为x),同时一个FTP进程连接至server的21号命令端口。此时,源端口为随机端口x,在client,远程端口为21,在server。
B、 client开始监听端口x+1,同时向server发送一个端口命令(通过server的21号命令端口),此命令告诉server ,client正在监听的端口,并且已准备好从此端口接收数据。这个端口就是数据端口。
C、 server打开20号端口,并且建立和client数据端口的连接。此时,源端口为20,远程数据端口为x+1。
D、client 通过本地的数据端口x+1建立一个和server的20号端口的连接,然后向server发送一个应答,告诉server它已经建立好了一个连接。
被动模式ftp连接步骤:
- ftp程序设计
- FTP网络通信程序设计
- ftp协议程序设计总结
- FTP
- ftp
- ftp
- ftp
- ftp
- ftp
- FTP
- FTP
- ftp
- ftp
- ftp
- FTP
- FTP
- FTP
- FTP
- 蓝桥杯之砝码称重
- UVA1416 Warfare And Logistics(LA4080)(最短路,5级)
- iOS学习笔记---iOS用view实现推出菜单栏的动画效果
- 5-05. QQ帐户的申请与登陆STL
- WPF 3D:简单的Point3D和Vector3D动画创造一个旋转的正方体
- ftp程序设计
- GSON User Guide
- 黑马程序员-------java基础:String类
- js取小数点后两位 小数点操作方法总结
- 蓝桥 回型嵌套
- hdu 1203 背包
- cocos2d-x CCSpriteBatchNode和CCSpriteFrameCache区别
- 蓝桥 串的简单处理
- SQL Server 统计释疑