文件传输服务器
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)
{