1、目录目录 摘要. 3 第一章 课程设计要求 4 一、设计任务 3 1.1.1 课程设计内容 . 3 1.1.2、课程设计的基本要求. 3 二、设计基本思路及相关理论 . 3 1.2.1、TCP/IP 协议 3 1.2.2、客户机/服务器模型 . 4 1.2.3、设计基本思路 . 4 第二章 设计概要 . 5 2.1 功能设计. 5 2.2 程序系统功能模块. 6 2.3 功能分析. 7 2.3.1 功能流程图: 7 2.3.2 程序主要功能说明 . 7 第三章 调试分析与测试结果 23 3.1 服务器端与客户端 . 23 3.2 文件管理的过程 . 26 第四章 设计总结 . 28 参考文献.
2、 28 课程设计评分表 30 2 摘要摘要 网络的 Socket 数据传输是一种特殊的 I/O,Socket 也是一种文件 描述符。Socket 也具有一个类似于打开文件的函数调用 Socket(),该 函数返回一个整型的 Socket 描述符,随后的连接建立、数据传输等 操作都是通过该 Socket 实现的。 Socket 接口是 TCP/IP 网络的 API,Socket 接口定义了许多函数或 例程,程序员可以用它们来开发 TCP/IP 网络上的应用程序。要学 Internet 上的 TCP/IP 网络编程,必须理解 Socket 接口。 Socket 接口设计者最先是将接口放在 Unix
3、 操作系统里面的。 如果 了解 Unix 系统的输入和输出的话,就很容易了解 Socket 了。常用的 Socket 类型有两种:流式 Socket (SOCK_STREAM)和数据报式 Socket(SOCK_DGRAM) 。流式是一种面向连接的 Socket,针对于面 向连接的 TCP 服务应用;数据 报式 Socket 是一种无连接的 Socket, 对应于无连接的 UDP 服务应用。 Socket 接口是 TCP/IP 网络的 API,Socket 接口定义了许多函数或例 程,程序员可以用它们来开发 TCP/IP 网络上的应用程序。要学 Internet 上的 TCP/IP 网络编程,
4、必须理解 Socket 接口。 关键字: Socket、文件传输、多线程 3 第一章第一章 课程设计要求课程设计要求 一、设计任务一、设计任务 1.1.1 课程设计内容课程设计内容 文件传输协议的简单设计与实现:学会利用已有网络环境设计并实现简单 应用层协议,掌握 TCP/IP 网络应用程序基本的设计方法和实现技巧,加深对客 户/服务器的工作模式的认识。 用 socket 编程接口编写程序,分别为客户程序(ftpclient.cpp)和服务器 程序(ftpserver.cpp)和管理程序。 1.1.2、课程设计的基本要求、课程设计的基本要求 1 .巩固和加深对计算机网络原理的理解, 提高综合运
5、用本课程所学知识的 能力。 2 .培养选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研 究,分析问题、解决问题的能力。 3 .通过实际分析设计、编程调试,掌握计算机网络通信的基本规程,以及 协议的利用方法,体会体系结构分层的思路。 4 .能够按要求编写课程设计报告书,能正确阐述设计和设计结果、 正确绘 制系统和程序框图。 5 .通过课程设计,培养严谨的科学态度,严肃认真的工作作风,和团队协 作精神。 二、设计基本思路及相关理论二、设计基本思路及相关理论 1.2.1、TCP/IP 协议协议 TCP/IP 协议是 Internet 最基本的协议、Internet 国际互联网络的基础, 由
6、网络层的 IP 协议和传输层的 TCP 协议组成。 TCP/IP 定义了电子设备如何连入 因特网,以及数据如何在它们之间传输的标准。协议采用了 4 层的层级结构,每 4 一层都呼叫它的下一层所提供的网络来完成自己的需求。通俗而言:TCP 负责发 现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地 传输到目的地。 TCP 是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连 接,由于 TCP 是面向连接的所以只能用于点对点的通讯。 TCP 提供的是一种可靠的数据流服务,采用一种称为“滑动窗口”的方式进 行流量控制。TCP 将它的信息送到更高层的应用程序,例如 Telnet 的服务程序 和客户程序。应用程序轮流将信息送回 TCP 层,TCP 层便将它们向下传送到 IP 层,设备驱动程序和物理介质,最后到接收方。 1.2.2、客户机、客户机/服务器模型服务器模型 网络应用层程序一般都是以客户机/服务器模型的方式工作的,而因特网便 是客户机/服务器模型的一个典型应用。在这种工作方式中,一个服务器程序先 启动,并在一个熟知端口侦听对服务器