文档详情

实验一-文件传输协议设计.doc

发布:2017-03-04约1.04万字共15页下载文档
文本预览下载声明
实验一:文件传输协议的设计与实现 目录 1.实验设计目的和要求 2.背景知识 3.课程设计分析 4.程序清单 5.运行结果 6.总结 课程设计目的和要求 文件传输是各种计算机的网络的基本功能,文件传送协议是一种最基本的应用层协议。它是按照客户或服务器模式进行的工作,提供交式的访问。是INTERNRT使用最广泛的协议之一。以及深入了解计算机网络是建立在TCP/IP网络体系结构上。 用 socket 编程接口编写俩个程序,分别为客户程序和服务器程序 掌握TCP/IP 网络应用程序基本的设计方法; 用socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c); 撰写课程设计说明书。装订后的课程设计说明书不少于10面(含封面、任务书、目录、正文、参考文献、成绩评定表、封底)。 背景知识 第一个FTP的RFC由A.K.Bhushan 在1971年提出,同时由MIT与Harvard实验实现,RFC 172提供了主机间文件传输的一个用户级协议。长期发展过程由于底层协议从NCP改变为TCP,RFC765定义了采用TCP的FCP. FTP协议在今天已经发展成熟,应用也越来越广很多开发的比较成熟的FTP客户端软件已经得到了广泛的应用. 课程设计分析 Server端 Client端 创建ServerSocket对象,在某端口提供监听服务Client端 等待来自Client端的服务请求 接受Client端的请求,用返回的 创建Socket对象,向Server Socket建立连接 的监听端口请求 通过向Socket中读写数据来 通过向新的Socket中读写数 与Client端通信 据来与Server端通信 关闭Socket,结束与Server端的通信 关闭Socket,结束与当前 Client的通信,等待其他请求 关闭ServerSocket对象,结束监听服务 4.程序清单: 服务器源代码: #include Winsock2.h #include stdio.h #include iostream using namespace std; #pragma comment(lib, wsock32.lib) #define PORT 4523 char buf_send[1024]; char buf_rec[1024]; SOCKET sockSrv; //socket初始化 DWORD CreateSocket() { WSADATA WSAData;//WSADATA结构被用来保存函数WSAStartup返回的Windows Sockets初始化信息 if(WSAStartup(MAKEWORD(2,2),WSAData)!=0)//WSAStartup完成winsock的初始化 {printf(socket initialize failed!\n); 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.sin_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 *)addrSrv,sizeof(addrS
显示全部
相似文档