文件传输协议的简单设计与实现

上传人:桔**** 文档编号:508586894 上传时间:2023-08-07 格式:DOCX 页数:24 大小:257.58KB
返回 下载 相关 举报
文件传输协议的简单设计与实现_第1页
第1页 / 共24页
文件传输协议的简单设计与实现_第2页
第2页 / 共24页
文件传输协议的简单设计与实现_第3页
第3页 / 共24页
文件传输协议的简单设计与实现_第4页
第4页 / 共24页
文件传输协议的简单设计与实现_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《文件传输协议的简单设计与实现》由会员分享,可在线阅读,更多相关《文件传输协议的简单设计与实现(24页珍藏版)》请在金锄头文库上搜索。

1、课 程 设 计 课程名称 计算机网络课程设计 题目名称 文件传输协议的简单设计与实现 学生学院 专业班级_ _ 学 号 学生姓名_ _指导教师_ _ 2010 年 1 月 5 日设计摘要关键词:SOCKET编程,FTPclient/server程序摘要:本课程设计包含了文件传输协议的简单设计与实现。文件传送是各种计算机网络实现的基本功能,文件传送协议是一种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,是INTERNET使用最广泛的协议之一。文件传输协议的简单设计与实现建立在计算机网络实验环境TCP/IP 网络体系结构之上,使用socket 编程接口编写两个程序,分别为客户

2、程序(client.c)和服务器程序(server.c),实现下述命令功能:get , put, pwd, dir, cd, ?, quit 等,利用了已有网络环境设计并实现简单应用层协议。本设计包括了具体设计任务,基本思路及所涉及的相关理论,设计流程图,调试过程中出现的问题及相应解决办法,实验运行结果,核心程序,个人体会及建议等。目录1、文件传输协议的简单设计与实现-181. 1 具体设计任务-181.2 基本思路及所涉及的相关理论-181.2.1基本思路-182.2.2 相关理论-181.3设计流程图-191.4实验运行情况-191.5 核心程序-22 2.5.1 服务器(sever)程序

3、-22 2.5.2 客户(client)程序-291.6心得体会-37参考文献-382、文件传输协议的简单设计与实现2. 1 具体设计任务计算机网络实验环境建立在TCP/IP 网络体系结构之上。各计算机除了安装TCP/IP 软件外,还安装了TCP/IP 开发系统。实验室各计算机具备Windows环境中套接字socket 的编程接口功能,可为用户提供全网范围的进程通信功能。本实验要求利用这些功能,设计和实现一个简单的文件传送协议。用socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),该程序应能实现下述命令功能:get:取远方的一个文件put:传

4、给远方一个文件pwd:显示远主当前目录dir:列出远方当前目录cd :改变远方当前目录? :显示你提供的命令quit :退出返回2.2基本思路及所涉及的相关理论2.2.1基本思路 设计程序使客户端连接的时候,服务器将会向客户端发回一条消息告知它的IP地址,然后关闭连接并继续接收端口的连接。建立各个命令功能对应的函数,发送请求,等待服务器端的服务。服务器端初始化WinSock,创建SOCKET,获取主机信息,并对客户端进行会话,发送回复讯息给客户端,响应完毕后关闭连接,释放WinSock。2.2.2 相关理论 文件传送是各种计算机网络都实现的基本功能,文件传送协议是一种最基本的应用层协议按照客户

5、/服务器的模式进行工作,提供交互式的访问,是INTERNET使用最广泛的协议之一。计算机网络实验环境建立在TCP/IP 网络体系结构之上。各计算机除了安装TCP/IP 软件外,还安装了TCP/IP 开发系统。实验室各计算机具备Windows环境中套接字socket 的编程接口功能,可为用户提供全网范围的进程通信功能。本设计利用这些功能,设计和实现一个简单的文件传送协议。用socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c)。2.3 设计流程图2.4实验运行情况服务器端运行,默认自动启动监听,情况如下图:服务如果关闭监听,效果如下图:客服端运行,

6、如下图:输入服务器端的IP和端口号进行连接,效果如图:下面设置文件保存位置,如图:下面演示上传一个视频文件,然后再下载下来,其中上传过程的进度信息:上传完成后的效果图:下载文件的进度提示信息:下载完成后,指定目录下就有了该文件了:2.5 核心程序2.5.1 服务器(server)程序如下using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Net;using System.Net.Sockets;using Sys

7、tem.IO;using System.Windows.Forms;namespace TCP文件传输_服务器 class WorkThread byte buffer; int bufferSize= 4096; Thread mythread; Socket handler; public WorkThread(Socket workSocket) handler = workSocket; buffer = new bytebufferSize; mythread = new Thread(BeginCommunication); public void Start() mythread

8、.Start(); public void Abort() mythread.Abort(); private void BeginCommunication() while (true)/从客户端接收数据,直到连接断开 try int reCount = handler.Receive(buffer); string insStr =Encoding.BigEndianUnicode.GetString(buffer, 0, reCount); if (insStr.Substring(0, 4) = name)/收到下文件请求 string fileName = insStr.Substr

9、ing(5, insStr.Length - 5); SendFile(fileName, handler); else if (insStr.Substring(0, 4) = boot)/收到获取根目录请求 string listStr = GetFileNames(F:, false); SendString(handler, listStr); else if (insStr.Substring(0, 4) = path)/收到获取指定目录内容请求 string path = insStr.Substring(5, insStr.Length - 5); string listStr

10、= GetFileNames(path, false); SendString(handler, listStr); else if (insStr.Substring(0, 4) = Queu)/获取下载文件夹请求,回复完整文件名列表 string path = insStr.Substring(5, insStr.Length - 5); string listStr = GetFileNames(path, true); SendString(handler, listStr); else if (insStr.Substring(0, 4) = upld)/收到上传文件请求 string reFileName = insStr.Substring(5, insStr.Length - 5); LoadFile(reFileName, handler);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 金融/证券 > 财经资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号