当前位置: 代码迷 >> 综合 >> FTP
  详细解决方案

FTP

热度:98   发布时间:2024-02-13 20:04:28.0

文件传输服务器

1.客户端请求的是"put file"

第一次:

客户端告诉服务器端文件名和文件大小

第二次:

客户端给服务器端传送数据和数据的大小

2.客户端请求的是"get file"

第一次:

客户端传送文件名

接下来:客户端等待服务器的结果:
A.要下载的文件存在,服务器端就告诉文件大小
B.要下载的文件不存在,服务器就告诉错误信息

第二次:

服务器给客户端传送数据和数据的大小

------------------------------------------------------

设计:

typedef struct 
{
char cmd[15];
int _errno;//FAILUE , SUCCESS
int size;{大小}
char buf[1024];{文件名 | 数据 }
}MSG;

A.客户端 

....

char buf[1024];
char *pcmd,*pname;

while(1)
{
//get file 
//put file
printf(">");

    fgets(buf,sizeof(buf),stdin);
buf[strlen(buf) - 1] = '\0';

pcmd = strtok(buf," ");
pname = strtok(NULL," ");

do_task(sockfd,pcmd,pname);
}

void do_task(int sockfd,char *pcmd,char *pname)
{

  相关解决方案