1、 计算机网络课程设计报告计算机网络课程设计报告 题目:文件传输协议的设计与实现 目录目录 1.课程设计目的和要求 2.背景知识 3.课程设计分析 4.程序清单 5.运行结果 6.总结 1.1.课程设计目的和要求课程设计目的和要求 文件传输是各种计算机的网络的基本功能, 文件传送协议是一种 最基本的应用层协议。 它是按照客户或服务器模式进行的工作, 提供 交式的访问。是 INTERNRT 使用最广泛的协议之一。以及深入了解计 算机网络是建立在 TCP/IP 网络体系结构上。 用 socket 编程接口编写俩个程序, 分别为客户程序和服务器程 序 1掌握 TCP/IP 网络应用程序基本的设计方法;
2、 2用 socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器程 序(server.c) ; 3撰写课程设计说明书。装订后的课程设计说明书不少于 10 面(含封面、 任务书、目录、正文、参考文献、成绩评定表、封底) 。 2.2.背景知识背景知识 第一个 FTP 的 RFC 由 A.K.Bhushan 在 1971 年提出,同时由 MIT 与 Harvard 实验实现,RFC 172 提供了主机间文件传输的一个用户级 协议。长期发展过程由于底层协议从 NCP 改变为 TCP,RFC765 定义了 采用 TCP 的 FCP. FTP 协议在今天已经发展成熟, 应用也越来越广
3、很多开发的比较成熟的 FTP 客户端软件已经得到了广泛的应用. 3.3.课程设计分析课程设计分析 Server 端 Client 端 创建 ServerSocket 对象,在某端口提供监听服务 Client 端 等待来自 Client 端的服务请求 接受 Client 端的请求,用返回的 创建 Socket 对象,向 Server Socket 建立连接 的监听端口请求 通过向 Socket 中读写数据来 通过向新的 Socket 中读写数 与 Client 端通信 据来与 Server 端通信 关闭 Socket,结束与 Server 端的通信 关闭 Socket,结束与当前 Client
4、的通信,等待其他请求 关闭 ServerSocket 对象,结束监听服务 4.4.程序清单程序清单: 1.1. 服务器源代码: #include #include #include using namespace std; #pragma comment(lib, “wsock32.lib“) #define PORT 4523 char buf_send1024; char buf_rec1024; SOCKET sockSrv; /socket 初始化 DWORD CreateSocket() WSADATA WSAData;/WSADATA 结构被用来保存函数 WSAStartup 返回
5、的 Windows Sockets 初始化信息 if(WSAStartup(MAKEWORD(2,2), return (-1); sockSrv=socket(AF_INET,SOCK_STREAM,0);/定义为面向连接的,返回值送给 sockSrv if(sockSrv=SOCKET_ERROR) printf(“socket create failed ! n“); WSACleanup();/中止 Windows Sockets DLL 的使用 return(-1); SOCKADDR_IN addrSrv;/TCP/IP 使用 SOCKADDR_IN 定义地址 addrSrv.si
6、n_addr.S_un.S_addr=htonl(INADDR_ANY);/计算机 IP 地址 addrSrv.sin_port=htons(PORT);/协议端口号 addrSrv.sin_family=AF_INET;/地址所属协议簇 /绑定端口 if(bind(sockSrv,(struct sockaddr FAR *) return(-1); return (1); int SendFileRecord(SOCKET datatcps,WIN32_FIND_DATA *pfd)/用于回复给客户端 char filerecordMAX_PATH+32; FILETIME ft; FileTimeToLocalFileTime(/将一个 FILETIME 结构转换成本地时间 SYSTEMTIME las