文件资料传输协议详情的(C语言)实现.doc

文件资料传输协议详情的(C语言)实现.doc

ID:56069964

大小:102.00 KB

页数:27页

时间:2020-06-19

文件资料传输协议详情的(C语言)实现.doc_第1页
文件资料传输协议详情的(C语言)实现.doc_第2页
文件资料传输协议详情的(C语言)实现.doc_第3页
文件资料传输协议详情的(C语言)实现.doc_第4页
文件资料传输协议详情的(C语言)实现.doc_第5页
资源描述:

《文件资料传输协议详情的(C语言)实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程设计:FTP的设计与实现一、目的Internet提供了很多类型的网络服务,这些服务实际上都是应用层的服务。FTP服务是基于TCP协议的网络服务。文件传送是各种计算机网络都实现的基本功能,文件传送协议是一种最基本的应用层协议。通过完成一个文件传送协议FTP的实现,学会利用已有网络环境设计并实现简单应用层协议,掌握TCP/IP网络应用程序基本的设计方法和实现技巧。二、容和要求每两人一组,分别实现FTP协议客户端程序和服务器程序。客户端程序具有文件列表、下载文件、上传文件等常用功能。服务器程序支持改变工作目录、文件列表、下载文件等常用的服务

2、。因为FTP协议比较复杂,为了简单起见,客户端只实现FTP客户端协议的一个子集,总的来说有以下几个功能:l连接到指定的FTP服务器;l断开和主机的连接;l进入子目录;l退出子目录;l列出服务器当前目录下的所有文件l从服务器下载指定的文件到本地(可以同时指定多个文件连续下载)l从本地上传指定的文件到服务器实现以上几个功能时会涉及到下面的几个FTP命令:lUSERusernamelPASSpasswordlCWDdirectory-namelPORThost-portlTYPEAorIlRETRfilenamelSTORfilenamelLI

3、STdirectory用户界面应该能够为程序输入下面的信息:l服务器主机名l用户名、口令l数据的传送类型l要进入的服务器目录l要下载的远程文件名l要上载的本地文件名和远程文件名同时,界面也为用户输出以下的信息:lFTP服务器上的文件和目录列表l从服务器返回的应答使用Socket进行Client/Server程序设计的一般连接过程是这样的:Server端Listen(监听)某个端口是否有连接请求,Client端向Server端发出Connect(连接)请求,Server端向Client端发回Accept(接受)消息。一个连接就建立起来了。S

4、erver端和Client端都可以通过Send,Write等方法与对方通信。  对于一个功能齐全的Socket,都要包含以下基本结构,其工作过程包含以下四个基本的步骤:  (1)创建Socket;  (2)打开连接到Socket的输入/出流;  (3)按照一定的协议对Socket进行读/写操作;  (4)关闭Socket.  第三步是程序员用来调用Socket和实现程序功能的关键步骤,其他三步在各种程序中基本相同。/****************client.c****************/#include#

5、include#include#pragmacomment(lib,"ws2_32.lib")#defineDEFAULT_PORT       2302#defineDEFAULT_BUFFER     2048#defineDEFAULT_MESSAGE    "Thisisatestoftheemergencybroadcastingsystem"char szServerip[128],         //Servertoconnectto     szMessage[1024];    

6、   //Messagetosendtoseverint  iPort    =DEFAULT_PORT; //Portonservertoconnectto//DWORDdwCount  =DEFAULT_COUNT;//NumberoftimestosendmessageBOOL bSendOnly=FALSE;        //Senddataonly;don'treceiveintdirfun();intgetfun();intputfun();intpwdfun();intcdfun();intmdfun();intdelfu

7、n();intusafun(); voidusage(){   printf("usage:client[-p:x][-s:IP][-n:x][-o]");   printf("      -p:x     Remoteporttosendto");   printf("      -s:IP    Server'sIPaddressorhostname");   printf("      -n:x     Numberoftimestosendmessage");   printf("      -o       

8、Sendmessagesonly;don'treceive");   ExitProcess(1);}voidValidateArgs(intargc,char**argv){   int

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。