课设:一个简单FTP服务器的实现

课设:一个简单FTP服务器的实现

ID:47540885

大小:222.50 KB

页数:22页

时间:2020-01-14

课设:一个简单FTP服务器的实现_第1页
课设:一个简单FTP服务器的实现_第2页
课设:一个简单FTP服务器的实现_第3页
课设:一个简单FTP服务器的实现_第4页
课设:一个简单FTP服务器的实现_第5页
资源描述:

《课设:一个简单FTP服务器的实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机与通信工程学院课程设计第21页课程设计任务书专业:计算机科学与技术学号:2153626学生姓名(签名):设计题目:一个简单FTP服务器的实现一、设计实验条件1208实验室二、设计任务及要求设计要求:任选一门自己熟悉的程序设计语言,利用Socket网络编程机制实现一个简单FTP服务器。要求实现的功能包括:上传、下载、选择数据传输模式,改变目录等,并给出相应的提示。三、设计报告的内容1.设计题目与设计任务1.1设计题目一个简单FTP服务器的实现。1.2设计任务任选一门自己熟悉的程序设计语言,利用Socket网

2、络编程机制实现一个简单FTP服务器。要求实现的功能包括:上传、下载、选择数据传输模式,改变目录等,并给出相应的提示。2.前言2.1FTP协议Ftp服务是最常用的网络服务之一,虽然在www风行的今天,Ftp已经远不如以前使用得广泛,但是在许多大学等科研单位,Ftp仍然是最常用的文件交换方式。FTP(FileTransferProtocol,文件传输协议)是TCP/IP计算机与通信工程学院课程设计第21页协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储

3、文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。Ftp协议是基于TCP协议的,因此,在一个Ftp会话开始前,客户端和服务器必须首先建立一个TCP连接,这个TCP连接通常被称作控制连接,客户端通过此连接向服务器发送FTP命令,服务器处理命令后,将返回一个响应码。一个Ftp会话过程中,始终有一个控制连接,如果客户端请求文件,则会有一个数据连接,但FTP协议规定:只要关闭了控制连接,数据连接(如果有)也必须关闭。2.2SocketSocket起源于Unix,而Unix/Linux基本哲学之一

4、就是“一切皆文件”,都可以用“打开open–>读写write/read–>关闭close”模式来操作。Socket就是该模式的一个实现,Socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)。说白了Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。Socket是应

5、用层与TCP/IP协议族通信的中间软件抽象层。计算机与通信工程学院课程设计第21页套接字API最初是作为UNIX操作系统的一部分而开发的,所以套接字API与系统的其他I/O设备集成在一起。特别是,当应用程序要为因特网通信而创建一个套接字(socket)时,操作系统就返回一个小整数作为描述符(descriptor)来标识这个套接字。然后,应用程序以该描述符作为传递参数,通过调用函数来完成某种操作(例如通过网络传送数据或接收输入的数据)。2.3传输模式FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。

6、ASCII传输模式:假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的是不同的操作系统,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。即ASCII模式下会转换文件,不能说是不同系统对回车换行解释不同,而是不同的系统有不同的行结束符。UNIX系统下行结束符是一个字节,即十六进制的0A,而Windows的系统是两个字节,即十六进制的0D0A,所以当你用ASCII方式从UNIX的FTPServer下载文件到Windows系统上时(不管是二进制或者

7、文本文件),每检测到一个字节是0A,就会自动插入一个0D,所以如果你的文件是二进制文件,比如可执行文件、压缩包什么的,就肯定不能用了。如果你的文件就是UNIX下的文本文件,你用ASCII模式是正确的,要是误用了Binary模式,你在Windows上看这个文件是没有换行的,里面是一个个的黑方块。二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能

8、执行。如果你在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢,也会损坏数据,使文件变得不能用。(在大多数计算机上,ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果你传输二进制文件,所有的位都是重要的。)如果你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。2.4设计目的21世纪是网络的时代,是信息的时代

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。