没有合适的资源?快使用搜索试试~ 我知道了~
课设:一个简单FTP服务器的实现.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 170 浏览量
2021-10-04
14:33:50
上传
评论
收藏 188KB DOC 举报
温馨提示
试读
23页
课设:一个简单FTP服务器的实现.doc
资源推荐
资源详情
资源评论
- - .
课程设计任务书
专业:计算机科学与技术 学号:2153626 学生姓名〔签名〕:
设计题目:一个简单 FTP 效劳器的实现
一、设计实验条件
1208 实验室
二、设计任务及要求
设计要求:任选一门自己熟悉的程序设计语言,利用 Socket 网络编程机制
实现一个简单 FTP 效劳器。
要求实现的功能包括:
上传、下载、选择数据传输模式,改变目录等,并给出相应的提示。
三、设计报告的内容
1.设计题目与设计任务
1.1 设计题目
一个简单 FTP 效劳器的实现。
1.2 设计任务
任选一门自己熟悉的程序设计语言,利用 Socket 网络编程机制实现一个简
单 FTP 效劳器。要求实现的功能包括:上传、下载、选择数据传输模式,改变目
录等,并给出相应的提示。
2.前言
2.1 FTP 协议
Ftp 效劳是最常用的网络效劳之一,虽然在 www 风行的今天,Ftp 已经远不
如以前使用得广泛,但是在许多大学等科研单位,Ftp 仍然是最常用的文件交换
方式。
FTP〔File Transfer Protocol,文件传输协议〕是 TCP/IP 协议组中的协议
之一。FTP 协议包括两个组成局部,其一为 FTP 效劳器,其二为 FTP 客户端。其
- - .考试资料.
- -
中 FTP 效劳器用来存储文件,用户可以使用 FTP 客户端通过 FTP 协议访问位于
FTP 效劳器上的资源。Ftp 协议是基于 TCP 协议的,因此,在一个 Ftp 会话开场
前,客户端和效劳器必须首先建立一个 TCP 连接,这个 TCP 连接通常被称作控
制连接,客户端通过此连接向效劳器发送 FTP 命令,效劳器处理命令后,将返回
一个响应码。
一个 Ftp 会话过程中,始终有一个控制连接,如果客户端请求文件,那么会
有一个数据连接,但 FTP 协议规定:只要关闭了控制连接,数据连接〔如果有〕
也必须关闭。
2.2 Socket
Socket 起源于 Unix,而 Unix/Linux 根本哲学之一就是“一切皆文件〞,都
可以用“翻开 open–>读写 write/read–>关闭 close〞模式来操作。Socket 就是
该模式的一个实现,Socket 即是一种特殊的文件,一些 socket 函数就是对其进
展的操作〔读/写 IO、翻开、关闭〕。说白了 Socket 是应用层与 TCP/IP 协议族
通信的中间软件抽象层,它是一组接口。在设计模式中, Socket 其实就是一个
门面模式,它把复杂的 TCP/IP 协议族隐藏在 Socket 接口后面,对用户来说,一
组简单的接口就是全部,让 Socket 去组织数据,以符合指定的协议。
Socket 是应用层与 TCP/IP 协议族通信的中间软件抽象层。
- word.zl-
- -
套接字 API 最初是作为 UNIX 操作系统的一局部而开发的,所以套接字 API
与系统的其他 I/O 设备集成在一起。特别是,当应用程序要为因特网通信而创立
一 个 套 接 字 〔 socket 〕 时 , 操 作 系 统 就 返 回 一 个 小 整 数 作 为 描 述 符
〔descriptor〕来标识这个套接字。然后,应用程序以该描述符作为传递参数,
通过调用函数来完成某种操作〔例如通过网络传送数据或接收输入的数据〕。
2.3 传输模式
FTP 的传输有两种方式:ASCII 传输模式和二进制数据传输模式。
ASCII 传输模式:假定用户正在拷贝的文件包含的简单 ASCII 码文本,如果
在远程机器上运行的是不同的操作系统,当文件传输时 ftp 通常会自动地调整文
件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。即 ASCII 模
式下会转换文件,不能说是不同系统对回车换行解释不同,而是不同的系统有不
同的行完毕符。 UNIX 系统 下行 完毕符是一个字节,即十六进制的 0A,而
Windows 的系统是两个字节,即十六进制的 0D0A,所以当你用 ASCII 方式从
UNIX 的 FTP Server 下载文件到 Windows 系统上时(不管是二进制或者文本文
件),每检测到一个字节是 0A,就会自动插入一个 0D,所以如果你的文件是二
- word.zl-
- -
进制文件,比方可执行文件、压缩包什么的,就肯定不能用了。如果你的文件就
是 UNIX 下的文本文件,你用 ASCII 模式是正确的,要是误用了 Binary 模式,
你在 Windows 上看这个文件是没有换行的,里面是一个个的黑方块。
二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是
逐位一一对应的。即使目的地机器上包含位序列的文件是没意义 的。例如
macintosh 以二进制方式传送可执行文件到 Windows 系统,在对方系统上,此
文件不能执行。 如果你在 ASCII 方式下传输二进制文件,即使不需要也仍会转译。
这会使传输稍微变慢 ,也会损坏数据,使文件变得不能用。〔在大多数计算机上,
ASCII 方式一般假设每一字符的第一有效位无意义,因为 ASCII 字符组合不使用
它。如果你传输二进制文件,所有的位都是重要的。〕如果你知道这两台机器是
同样的,那么二进制方式对文本文件和数据文件都是有效的。
2.4 设计目的
21 世纪是网络的时代,是信息的时代,是多媒体的时代。Intertnet 技术的
迅猛开展与普及,推动了世界范围的信息传输和信息交流。Internet 如此流行,
其中 FTP 功不可没。成千上万的数据、软件分布在世界各地,有了 ftp,足不出
户,就能轻而易举地得到想要的。FTP 文件传送效劳,主要用于存放大量的网络
公用软件,常用工具盒技术文档,以及一些著名 FTP 效劳的景象,现在,已经有
许多互联网站点都建立了可供群众访问的资料库,这些资料都可以被通过 FTP 获
取。建立匿名 FTP 效劳器,可以使用户有时机接触到世界上最大的信息库,这个
信息库是日积月累起来的,并且还在不断增长,永不关闭,涉及到几乎所有主题 。
而且,这一切是免费的。Internet 之所以能延续到今天,是因为人们使用通过标
准协议提供标准效劳的程序。匿名 FTP 是 Internet 网上发布软件的常用方法。
Internet 上的很多程序是由个人创造和维护的,他们通过匿名 FTP 把它们分发
给世界各地的人们。也可以找到电子杂志、用户网讨论组的档案、技术文件等等。
2.5 设计意义
互联网的一大特点是实现信息共享,其中文件传输是信息共享的十分重要的
内容之一。FTP 是实现文件传输效劳的最主要的标准,并且当需要考虑到文件传
输平安、传输质量、访问控制等诸多因素时,FTP 效劳器就成了解决文件传输问
题的关键所在。在这种情形下,就需要有一个良好的 FTP 效劳器平台来满足用户
- word.zl-
- -
日益增长的效劳需求。因此,研究 FTP 效劳器相关技术及实现具有重要的意义。
3.设计主体
3.1 系统简介
〔1〕常用命令
FTP 的主要操作都是基于各种命令根底之上的。常用的命令有:
〔1〕设置传输模式,它包括 ASCⅡ(文本) 和 BINARY 二进制模式。
〔2〕目录操作,改变或显示远程计算机的当前目录(cd、dir/ls 命令)。
〔3〕连接操作,open 命令用于建立同远程计算机的连接;close 命令用于
关闭连接。
〔4〕发送操作,put 命令用于传送文件到远程计算机。
〔5〕获取操作,get 命令用于接收一个文件。
〔2〕工作原理
效劳器端先初始化 Socket,然后与端口绑定(bind),对端口进展监听
(listen),调用 accept 阻塞,等待客户端连接。在这时如果有个客户端初始化一
个 Socket,然后连接效劳器(connect),如果连接成功,这时客户端与效劳器端
的连接就建立了。客户端发送数据请求,效劳器端接收请求并处理请求,然后把
回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互完毕。
(3)常用函数
accept()函数
TCP 效劳器监听到客户端请求之后,就会调用 accept()函数取接收请求,这
样连接就建立好了。之后就可以开场网络 I/O 操作了,即类同于普通文件的读写
I/O 操作。accept 默认会阻塞进程,直到有一个客户连接建立后返回,它返回的
是已连接 socket 描述字(一个连接套接字),它代表着一个网络已经存在的点点连
接。
一个效劳器通常通常仅仅只创立一个监听 socket 描述字,它在该效劳器的生
命周期内一直存在。内核为每个由效劳器进程承受的客户连接创立了一个已连接
socket 描述字,当效劳器完成了对某个客户的效劳,相应的已连接 socket 描述
字就被关闭。
read()、write()等函数
- word.zl-
剩余22页未读,继续阅读
资源评论
pyhm63
- 粉丝: 6
- 资源: 20万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 51单片机学习(1)-软件keil下载
- 历届(第1-21届)希望杯数学竞赛初一试题及答案(最新整理).doc全国数学邀请赛(264页资料)
- 水滴.psd
- TokenPocket_V2.1.2_release.apk
- Apache-druid-kafka-rce.yaml
- 基于C#的ASP.NET数据库原理及应用技术课程指导平台的开发
- 基于ROS的智能车轨迹跟踪算法的仿真与设计源码运用PID跟踪算法.zip.zip
- Bug Bounty Tip - i春秋Self-XSS变废为宝的奇思妙想
- 1991-2015年全国初中化学竞赛复赛试题汇编(212页)(24年竞赛复赛真题).docx天原杯
- Apache Flink 未授权访问+远程代码执行.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功