计算机课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计

课程名称______________________ 题目名称______________________ 学生学院______________________ 专业班级______________________ 学号______________________ 学生姓名______________________ 指导教师______________________

200 年月日

摘要

本课程设计说明书主要说明了在windows下如何用c语言编写设计ftp服务器和客户端的基本方法及其实现。包含了TCP/IP协议基本通信原理,Winsock编程基本原理以及ftp工作原理。正文部分是程序设计的具体内容及其源代码,最后是报告反思及总结。

关键词:TCP/IP,Winsock,ftp

摘要 (1)

1.绪论 (3)

1.1设计目的 (3)

1.2设计要求 (3)

1.21计算机网络实验环境建立在TCP/IP 网络体系结构之上。 (3)

1.22具体要求 (3)

1.3设计准备 (4)

1.4设计方案 (4)

2.开发环境介绍 (5)

3.相关原理分析了解 (5)

3.1TCP/IP原理 (5)

3.11网络层协议 (5)

3.12应用层协议 (5)

3.2Winsock编程原理 (6)

3.23Winsock编程模型: (6)

数据报套接字编程模型 (7)

Winsock I/O模型 (7)

3.3TP工作原理 (7)

3.4Winsock API基本函数介绍 (8)

(1)WSAStartup()函数和WSACleanup()函数 (8)

(2)socket()函数 (8)

(3)bind( ) 函数 (9)

(4)listen( )函数 (9)

(5)accept( )函数 (9)

(6)connect( )函数 (9)

(7)closesocket( )函数 (9)

4.总体设计 (10)

4.1了解Winsock与操作系统的关系 (10)

4.2实现功能流程图 (11)

5.详细设计 (11)

5.1文件传输源程序代码 (11)

(1)客户端client程序代码 (11)

(2)、服务器端server程序代码 (22)

六、系统实现步骤 (33)

七、总结结论(心得体会) (35)

参考文献: (36)

1.绪论

1.1设计目的

本设计旨在利用原始socket简单实现FTP(File Transfer Protocol,文件传输协议)的客户端和服务器端程序,能够实现get、put、pwd、dir、cd等基本交互命令。

通过完成此设计,了解Winsock API函数调用方法和一般网络应用程序的编程方法,理解FTP协议,掌握C语言设计FTP协议软件的基本技术,为将来开发其他通信协议软件打下坚实基础。

1.2设计要求

1.21计算机网络实验环境建立在TCP/IP 网络体系结构之上。

各计算机除了安装TCP/IP 软件外,还安装了TCP/IP 开发系统。实验室各计算机具备Windows环境中套接字socket 的编程接口功能,可为用户提供全网范围的进程通信功能。本实验要求学生利用这些功能,设计和实现一个简单的文件传送协议。

1.22具体要求

用socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),该程序应能实现下述命令功能:

get:取远方的一个文件

put:传给远方一个文件

pwd:显示远主当前目录

dir:列出远方当前目录

cd :改变远方当前目录

:显示你提供的命令

quit :退出返回

1.3设计准备

装有Windows操作系统的PC机、Visual C++ 6.0编译器或VS2010编译器

1.4设计方案

1.服务器端调用socket的accept()方法,等待客户端联接。

2.客户端发送需要从服务端获得的文件夹路径给服务器端。

3.服务器端根据客户端发来的路径遍历整个路径下的文件及文件夹,并将需要传送到文件记录全路径记录到一个String类型的数组中,并将文件的个数发送给客户端。

4.客户端接收服务器端发来的文件个数,并向服务器端发送关闭联接请求,并关闭客户端连接。

5.服务器端收取关闭连接请求,将socket关闭,进入传输文件循环中。

6.服务器端调用socket的accept()方法,等待客户端联接。

7.客户端根据刚才取得的要传输的文件数,进行循环获取文件,记得每次取完文件要关闭socket连接,这样就不会将多个文件写入到同一个文件中。

2.开发环境介绍

VC6.0编程环境:首先建一个工程,填入文件名,点击下一步,出现要创建的文件夹名,填上点击下一步,完成建立工程。然后再点击新建菜单,新建一个C/C++source文件,点击下一步,完成建立过程,然后在窗口中写入源代码,执行即可。

3.相关原理分析了解

3.1TCP/IP原理

TCP协议和IP协议指两个用在Internet上的网络协议(或数据传输的方法)。它们分别是传输控制协议和互连网协议。这两个协议属于众多的TCP/IP协议组中的一部分。

TCP/IP协议组中的协议保证Internet上数据的传输,提供了几乎现在上网所用到的所有服务。这些服务包括:电子邮件的传输,文件传输,新闻组的发布,访问万维网在TCP/IP协议组分两种协议:网络层的协议和应用层的协议

3.11网络层协议:网络层协议管理离散的计算机间的数据传输。这些协议用户注意不到,是在系统表层以下工作的。比如,IP协议为用户和远程计算机提供了信息包的传输方法。它是在许多信息的基础上工作的,比如说是机器的IP地址。在机器IP地址和其它信息的基础上,IP确保信息包能正确地到达目的机器。通过这一过程,IP和其它网络层的协议共同用于数据传输。如果没有网络工具,用户就看不到在系统里工作的IP。

3.12应用层协议:

相反地,应用层协议用户是可以看得到的。比如,文件传输协议(FTP)用户是看得到的。用户为了传输一个文件请求一个和其它计算机的连接,连接建立后,就开始传输文件。在传

相关文档
最新文档