网站大量收购独家精品文档,联系QQ:2885784924

FTP文件传输课程设计-FTP的设计与实现-毕业论文.doc

FTP文件传输课程设计-FTP的设计与实现-毕业论文.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计:FTP的设计与实现 Internet提供了很多类型的网络服务,这些服务实际上都是应用层的服务。FTP服务是基于TCP协议的网络服务。 因为FTP协议比较复杂,为了简单起见,客户端只实现FTP客户端协议的一个子集,总的来说有以下几个功能: 连接到指定的FTP服务器; 断开和主机的连接; 进入子目录; 退出子目录; 列出服务器当前目录下的所有文件 从服务器下载指定的文件到本地(可以同时指定多个文件连续下载) 从本地上传指定的文件到服务器 实现以上几个功能时会涉及到下面的几个FTP命令: USER username PASS password CWD directory-name PORT host-port TYPE A or I RETR filename STOR filename LIST directory 用户界面应该能够为程序输入下面的信息: 服务器主机名 用户名、口令 数据的传送类型 要进入的服务器目录 要下载的远程文件名 要上载的本地文件名和远程文件名 同时,界面也为用户输出以下的信息: FTP服务器上的文件和目录列表 从服务器返回的应答 使用Socket进行Client/Server程序设计的一般连接过程是这样的:Server端Listen(监听)某个端口是否有连接请求,Client端向Server端发出Connect(连接)请求,Server端向Client端发回Accept(接受)消息。一个连接就建立起来了。Server端和Client端都可以通过Send,Write等方法与对方通信。   对于一个功能齐全的Socket,都要包含以下基本结构,其工作过程包含以下四个基本的步骤:   (1) 创建Socket;   (2) 打开连接到Socket的输入/出流;   (3) 按照一定的协议对Socket进行读/写操作;   (4) 关闭Socket.   第三步是程序员用来调用Socket和实现程序功能的关键步骤,其他三步在各种程序中基本相同。 /****************client.c****************/ #include winsock2.h #include stdio.h #include stdlib.h #pragma comment(lib,ws2_32.lib) #define DEFAULT_PORT??????? 2302 #define DEFAULT_BUFFER????? 2048 #define DEFAULT_MESSAGE???? This is a test of the emergency \ broadcasting system char?szServerip[128],????????? // Server to connect to ????? szMessage[1024];??????? // Message to send to sever int?? iPort???? = DEFAULT_PORT;?// Port on server to connect to //DWORD dwCount?? = DEFAULT_COUNT; // Number of times to send message BOOL?bSendOnly = FALSE;???????? // Send data only; dont receive int dirfun(); int getfun(); int putfun(); int pwdfun(); int cdfun(); int mdfun(); int delfun(); int usafun(); ? void usage() { ??? printf(usage: client [-p:x] [-s:IP] [-n:x] [-o]\n\n); ??? printf(?????? -p:x????? Remote port to send to\n); ??? printf(?????? -s:IP???? Servers IP address or hostname\n); ??? printf(?????? -n:x????? Number of times to send message\n); ??? printf(?????? -o??????? Send messages only; dont receive\n); ??? ExitProcess(1); } void ValidateArgs(int argc, char **argv) { ??? int??????????????? i; ? ??? for(i = 1; i

您可能关注的文档

文档评论(0)

yesaping + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档