文件传输协议的简单设计和实现课程设计报告.docVIP

文件传输协议的简单设计和实现课程设计报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课题二:文件传输协议的简单设计与实现 摘要 文件传送协议FTP是一种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,是INTERNET使用最广泛的协议之一。文件传输协议的简单设计与实现建立在计算机网络实验环境TCP/IP 网络体系结构之上,使用Winsock 编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),实现下述命令功能:get , put, pwd, dir, cd, ?, quit 等,利用了已有网络环境设计并在C/S模式下实现简单应用层协议。 本课程设计包括了具体设计任务,基本思路及所涉及的相关理论,设计流程图,调试过程中出现的问题及相应解决办法,实验运行结果,核心程序,个人体会及建议等。 关键词:TCP/IP协议 FTP协议 Winsock编程接口 C/S模式 1.设计任务及要求 1.1 设计任务 设计和实现一个简单的文件传送协议。 1.2 设计要求 用socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),该程序应能实现下述命令功能: get:取远方的一个文件 put:传给远方一个文件 pwd:显示远主当前目录 dir:列出远方当前目录 cd :改变远方当前目录 ? :显示你提供的命令 quit :退出返回 这此命令的具体工作方式(指给出结果的形式)可以参照FTP 的相应命令,有余力的同学可以多实现几个命令。最后,写出实验报告。 2.基本思路及所涉及的相关理论 2.1 基本思路 已知服务器的IP地址,设计程序使客户端连接。此时服务器端处于监听状态,客户端发起连接请求,然后两个接收端口进行连接。建立各个命令功能对应的函数,发送命令,等待服务器端的服务。服务器端初始化WinSock,创建SOCKET,获取主机信息,并对客户端进行会话,发送回复讯息给客户端,响应完毕后关闭连接,释放WinSock。 2.2 相关理论 文件传送是各种计算机网络都需要实现的基本功能,文件传送协议是一种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,是INTERNET使用最广泛的协议之一。计算机网络实验环境建立在TCP/IP 网络体系结构之上。各计算机除了安装TCP/IP 软件外,还安装了TCP/IP 开发系统。实验室各计算机具备Windows环境中套接字socket 的编程接口功能,可为用户提供全网范围的进程通信功能。本设计利用这些功能,设计和实现一个简单的文件传送协议。用socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c)。 3.方案设计 3.1 主要网络设备 联网计算机。 3.2 网络拓扑结构设计图 4.具体步骤 4.1 调试步骤 服务器端运行,默认自动启动监听,情况如下图: 在客户端输入服务器端的IP和端口号进行连接,效果如图: 显示远方当前目录的文件: 下面演示下载一个txt文件: 下载完成后,指定目录下就有了该文件了。 改变当前服务器路径。 显示上一层目录: 下面演示上传一个txt文件给服务器端: 上传完成后,指定目录下就有了该文件了。 4.2 核心程序 4.2.1 服务器端Sever程序 #include Winsock.h #include windows.h #include stdio.h #define RECV_PORT 2384 #define SEND_PORT 3384 #pragma comment(lib, wsock32.lib) SOCKET sock,sock1,sockdir,sockput,sockget; sockaddr_in ServerAddr; sockaddr_in ClientAddr; int Addrlen;//地址长度 char filename[20];//文件名 char order[10];//命令 char rbuff[1024];//接收缓冲区 char sbuff[1024];//发送缓冲区 //初始化winsock DWORD StartSock() { WSADATA WSAData; if(WSAStartup(MAKEWORD(2,2),WSAData)!=0) { printf(sock init fail!\n); return (-1); } return(1); } DWORD CreateSocket() { sock=socket(AF_INET,SOCK_STREAM,0); if(sock==SOCKET_ERROR) { printf(sock

文档评论(0)

liyxi26 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档