文件传输协议的简单设计与实现课程设计报告
课题二:文件传输协议的简单设计与实现
摘要
文件传送协议FTP是一种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,使用最广泛的协议之一。文件传输协议的简单设计与实现建立在计算机网络实验环境TCP/IP 网络体系结构之上,使用Winsock 编程接口编写两个程序,(),实现下述命令功能:get , put, pwd, dir, cd, ?, quit 等,利用了已有网络环境设计并在C/S模式下实现简单应用层协议。
本课程设计包括了具体设计任务,基本思路及所涉及的相关理论,设计流程图,调试过程中出现的问题及相应解决办法,实验运行结果,核心程序,个人体会及建议等。
关键词:TCP/IP协议FTP协议Winsock编程接口C/S模式
设计任务
设计和实现一个简单的文件传送协议。
设计要求
用socket 编程接口编写两个程序,(),该程序应能实现下述命令功能:
get:取远方的一个文件
put:传给远方一个文件
pwd:显示远主当前目录
dir:列出远方当前目录
cd :改变远方当前目录
? :显示你提供的命令
quit :退出返回
这此命令的具体工作方式(指给出结果的形式)可以参照FTP 的相应命令,有余力的同学可以多实现几个命令。最后,写出实验报告。
基本思路
已知服务器的IP地址,设计程序使客户端连接。此时服务器端处于监听状态,客户端发起连接请求,然后两个接收端口进行连接。建立各个命令功能对应的函数,发送命令,等待服务器端的服务。服务器端初始化WinSock,创建SOCKET,获取主机信息,并对客户端进行会话,发送回复讯息给客户端,响应完毕后关闭连接,释放WinSock。
相关理论
文件传送是各种计算机网络都需要实现的基本功能,文件传送协议是一种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,使用最广泛的协议之一。计算机网络实验环境建立在TCP/IP 网络体系结构之上。各计算机除了安装TCP/IP 软件外,还安装了TCP/IP 开发系统。实验室各计算机具备Windows环境中套接字socket 的编程接口功能,可为用户提供全网范围的进程通信功能。本设计利用这些功能,设计和实现一个简单的文件传送协议。用socket 编程接口编写两个程序,()。
主要网络设备
联网计算机。
网络拓扑结构设计图
调试步骤
服务器端运行,默认自动启动监听,情况如下图:
在客户端输入服务器端的IP和端口号进行连接,效果如图:
显示远方当前目录的文件:
下面演示下载一个txt文件:
下载完成后,指定目录下就有了该文件了。
改变当前服务器路径。
显示上一层目录:
下面演示上传一个txt文件给服务器端:
上传完成后,指定目录下就有了该文件了。
核心程序
服务器端Sever程序
#include ""
#include ""
#include ""
#define RECV_PORT 2384
#define SEND_PORT 3384
#mentlib, ""
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];//发送缓冲区
//初始化winsockDWORD StartSock
WSADATA WSAData;
ifWSAStartupMAKEWORD2,2,&WSAData!0
printf"sock init fail!\n";
return -1;
return1;
DWORD CreateSocket
,SOCK_STREAM,0;
ifsockSOCKET_ERROR
printf"sock create fail ! \n";
WSACleanup;
re
文件传输协议的简单设计与实现课程设计报告 来自淘豆网m.daumloan.com转载请标明出处.