- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简述简单文件传送协议
PAGE
PAGE 20
简述简单文件传送协议
篇一:文件传输协议的简单设计与实现
要求:用socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),该程序应能实现下述命令功能:
get:取远方的一个文件
put:传给远方一个文件
pwd:显示远主当前目录
dir:列出远方当前目录
cd :改变远方当前目录
? :显示你提供的命令
quit :退出返回
注意事项:这此命令的具体工作方式(指给出结果的形式)可以参照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.
下面是源代码:
/****************client.c****************/
#include lt;winsock2.h
#include lt;stdio.h
#include lt;stdlib.h
#pragma comment(lib,ws2_32.lib)
#define DEFAULT_PORT 2302
#define DEFAULT_BUFFER2048
#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
intiPort = DEFAULT_PORT; // Port on server to connect to
//DWORD dwCount= DEFAULT_COUNT; // Number of times to send message
BOOL bSendOnly = FALSE;// Send data only; don#39;t 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:xRemote port to send to\n);
printf( -s:IP Server#39;s IP address or hostname\n);
printf( -n:xNumber of times to send message\n);
printf( -o Send messages only; don#39;t receive\n);
ExitProcess(1);
}
void ValidateArgs(int argc, char **argv)
{
int i;
for(i = 1; i lt; argc; i++)
{
if ((argv[i][0] == #39;-#39;) || (argv[i][0] == #39;/#39;))
{
switch (tolower(argv[i][1]))
{
case #39;p#39;: // Remote port
if (strlen(argv[i]) 3)
iPort = atoi(amp;argv[i][3]);
break;
case #39;s#39;: // Server
if (strlen(argv[i]) 3)
strcpy(szServerip, amp;argv[i][3]);
break;
case #39;n#39;: // Number of times to send message
if (strlen(argv[i]) 3)
//dwCount = atol(amp;argv[i][3]);
break;
case #3
您可能关注的文档
- 租船合同的特点,英文.doc
- 租房子给别人怎样签合同.doc
- 租房给外国人合同要有英语.doc
- 租用田地合同协议范本(共10篇).doc
- 租船合同g-b.doc
- 租房退房合同(共8篇).doc
- 租房签合同的不是房东(共10篇).doc
- 租船合同,英文(共8篇).doc
- 租船合同中,英文缩写.doc
- 租船合同详解.doc
- 第 4 讲 工业防毒技术-一认识工业毒物 二预防窒息性气体危害 三预防重金属危害 四预防有机物危害 五综合防毒技术-1752130002967.pptx
- 第 3 讲 防火防爆技术-一燃烧与爆炸基础知识 二火灾爆炸危险物质及其处理 三防止火灾爆炸发生 四控制火灾及爆炸蔓延 五消防安全-1752134391308.pptx
- 第 4 讲 工业防毒技术-一认识工业毒物 二预防窒息性气体危害 三预防重金属危害 四预防有机物危害 五综合防毒技术-1752121685353.pptx
- 第 4 讲 工业防毒技术-一认识工业毒物 二预防窒息性气体危害 三预防重金属危害 四预防有机物危害 五综合防毒技术-1752123175022.pptx
- 第 7 讲 化工装置检修安全技术-一化工装置检修前准备工作 二化工装置安全停车 三化工装置检修特殊作业 四化工装置检修后安全开车-1752130450886.pptx
- 第 6 讲 压力容器 安全 技术-一认识压力容器 二定期检验压力容器 三安全使用气瓶-1752125498821.pptx
- 等度洗脱与梯度洗脱isocraticelutionandg.pptx
- 第 2 讲 危险化学品-一危险化学品的特性与分类 二危险化学品的贮存与运输 三重大危险源-1752128277155.pptx
- 02模块二结构表征30课件.pptx
- 第 4 讲 工业防毒技术-一认识工业毒物 二预防窒息性气体危害 三预防重金属危害 四预防有机物危害 五综合防毒技术-1752120150144.pptx
最近下载
- 围棋经典定式.pdf VIP
- 外空法与国际太空探索考核试卷.docx VIP
- (高清版)B-T 42588-2023 系统与软件工程 功能规模测量 NESMA方法.pdf VIP
- 部编版七年级上册语文背诵篇目.pdf VIP
- 人教版2025年八年级数学下学期期末总复习(专题训练)八下期末真题百题大通关(158题58题型)(基础版)(学生版+解析).docx VIP
- 地形学的基本知识4小时.ppt VIP
- 工程变更情形下措施费争议的裁判规则.docx
- 从业人员安全培训教育档案(一人一档).pdf VIP
- 碳排放管理员(高级)认证考试复习题及答案.doc VIP
- 2025年租房合同范本(可直接打印)与租房合同范本(完美打印版) .pdf VIP
文档评论(0)