- 11
- 0
- 约9.53千字
- 约 20页
- 2017-05-03 发布于贵州
- 举报
简述简单文件传送协议
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
您可能关注的文档
最近下载
- 奇瑞捷途6MF22A变速器使用维修手册.pdf
- 《阿Q正传》语言特色赏析备课札记(含课后练习题).docx VIP
- 茅台学院《高等数学(II)》2025 - 2026学年第一学期期末试卷.docx VIP
- 八年级下册《家庭社会法治》教案全册.pdf VIP
- 危重患者的早期识别与处理ppt.pptx VIP
- 江西省建设工程施工监理服务费计费规则.doc VIP
- IPX防水等级标准(0-8级).docx
- 医学文献检索:中外文医学文献检索与获取全攻略.pptx VIP
- SBT 11185-2017 药品批发企业对供应商管理规范.doc VIP
- (高清版)B-T 9441-2021 球墨铸铁金相检验.pdf VIP
原创力文档

文档评论(0)