- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 模具设计与制造综合实训说明书-座块盖塑料模具设计-毕业论文.doc
- 塑料成型工艺与模具设计项目实施报告-双分型面注塑模设计-毕业论文.doc
- 单片机原理及系统课程设计报告-基于单片机控制的1602液晶显示-毕业论文.doc
- LCD显示控制系统设计-基于51单片机实时控制的LCD液晶显示屏控制系统-毕业论文.doc
- LCD显示控制系统设计-基于51单片机的汉字式LCD滚动显示-毕业论文.doc
- LCD显示控制系统设计-本文介绍了一款以单片机AT89S51为控制器的LED点阵显示屏系统的设计-毕业论文.doc
- AT89S51单片机-ISD1720语音芯片-LCD液晶显示屏-毕业论文.doc
- 电子设计竞赛设计报告-基于单片机的简易数控电源-毕业论文.doc
- 基于51单片机的LED显示屏设计-毕业论文.doc
- C语言课程设计-推箱子游戏-毕业论文.doc
最近下载
- 基层社会治理解决方案.pdf VIP
- 新编实用英语综合教程二Unit-5-Food-Culture.ppt VIP
- 陋室铭译文原文及翻译.doc
- 2023年广东省广州市番禺区中考一模英语试题.pdf VIP
- 实用语文第一册第3单元5纳谏与止谤.ppt VIP
- 金融行业金融园区招商方案.doc VIP
- 2024年江苏省镇江市事业单位招聘184人历年高频考题难、易错点模拟试题(共500题)附带答案详解.docx VIP
- 智能微电网能源管理系统优化调度系统设计.pptx VIP
- 汽车销售抖音号运营推广策划方案.pptx VIP
- 2024年经济师考试建筑与房地产经济高级经济实务试题及答案指导.docx VIP
文档评论(0)