文件传输协议简单设计和实现c语言.doc

文件传输协议简单设计和实现c语言.doc

ID:58702491

大小:117.50 KB

页数:39页

时间:2020-10-03

文件传输协议简单设计和实现c语言.doc_第1页
文件传输协议简单设计和实现c语言.doc_第2页
文件传输协议简单设计和实现c语言.doc_第3页
文件传输协议简单设计和实现c语言.doc_第4页
文件传输协议简单设计和实现c语言.doc_第5页
资源描述:

《文件传输协议简单设计和实现c语言.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、文件传输协议的简单设计与实现(c语言)文件传输协议的简单设计与实现(c语言,VC6.0)使用Socket进行Client/Server程序设计的一般连接过程是这样的:Server端Listen(监听)某个端口是否有连接请求,Client端向Server端发出Connect(连接)请求,Server端向Client端发回Accept(接受)消息。一个连接就建立起来了。Server端和Client端都可以通过Send,Write等方法与对方通信。  对于一个功能齐全的Socket,都要包含以下基本结构,其工作过程包含以下四个基本的步骤:  (1)创建Socket;  (2)打开连接到S

2、ocket的输入/出流;  (3)按照一定的协议对Socket进行读/写操作;  (4)关闭Socket.  第三步是程序员用来调用Socket和实现程序功能的关键步骤,其他三步在各种程序中基本相同。/****************client.c****************/#include#include#include#pragmacomment(lib,"ws2_32.lib")#defineDEFAULT_PORT2302#defineDEFAULT_BUFFER2048#defineDEFAULT_ME

3、SSAGE"Thisisatestoftheemergencybroadcastingsystem"charszServerip[128],//ServertoconnecttoszMessage[1024];//MessagetosendtoseverintiPort=DEFAULT_PORT;//Portonservertoconnectto//DWORDdwCount=DEFAULT_COUNT;//NumberoftimestosendmessageBOOLbSendOnly=FALSE;//Senddataonly;don'treceiveintdirfun();int

4、getfun();intputfun();intpwdfun();intcdfun();intmdfun();intdelfun();intusafun();voidusage(){printf("usage:client[-p:x][-s:IP][-n:x][-o]");printf("-p:xRemoteporttosendto");printf("-s:IPServer'sIPaddressorhostname");printf("-n:xNumberoftimestosendmessage");printf("-oSendmessagesonly;don

5、'treceive");ExitProcess(1);}voidValidateArgs(intargc,char**argv){inti;for(i=1;i

6、

7、(argv[i][0]=='/')){switch(tolower(argv[i][1])){case'p'://Remoteportif(strlen(argv[i])>3)iPort=atoi(&argv[i][3]);break;case's'://Serverif(strlen(argv[i])>3)strcpy(szServerip,&argv[i

8、][3]);break;case'n'://Numberoftimestosendmessageif(strlen(argv[i])>3)//dwCount=atol(&argv[i][3]);break;case'o'://Onlysendmessage;don'treceivebSendOnly=TRUE;break;default:usage();break;}}}}intmain(intargc,char**argv){WSADATAwsd;SOCKETsClient;charszBuffer[DEFAULT_BUFFER];intret;//unsignedinti;//

9、intj;structsockaddr_inserver;structhostent*host=NULL;charchoice[5],choice2[40];//ParsethecommandlineandloadWinsock//argv[1]="-s:127.0.0.1";strcpy(szServerip,&argv[1][3]);//ValidateArgs(argc,argv);if(WSAStartup(MAKEWORD(2,2),&wsd)!=0){pr

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

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

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