net-server/server/func/trans_server.c
2023-12-25 11:34:10 +08:00

66 lines
1.1 KiB
C

void trans_server(){
char a;
//client get or send or quit
recv(sockad,&a,1,0);
for(;a!='Q'&&a!='q';){
if(a=='S'||a=='s'){
trans_s_get();
}
else if(a=='G'||a=='g'){
trans_s_send();
}
recv(sockad,&a,1,0);
}
}
void trans_s_get(){
printf("trans_get is running\n");
FILE *f;
char *name;
char *s;
int i;
int num_s;
char a;
name=(char *)malloc(sizeof(char)*128);
s=(char *)malloc(sizeof(char)*1024);
int num_name;
memset(name,0,128*sizeof(char));
memset(s,0,1024*sizeof(char));
num_name=recv(sockad,name,128,0);
printf("get name : %s\n",name);
f=fopen(name,"w+");
// fclose(f);
// f=fopen(name,"r+");
printf("opening text\n");
for(;a!='Q'&&a!='q';){
num_s=recv(sockad,s,1024,0);
printf("get this chars:%s\n",s);
fprintf(f,"%s",s);
memset(s,0,1024*sizeof(char));
if(num_s!=1024){
break;
}
}
printf("write done\n");
free(name);
free(s);
fclose(f);
}
void trans_s_send(){
char *name;
name=(char *)malloc(sizeof(char)*128);
int num_name;
memset(name,0,128*sizeof(char));
num_name=recv(sockad,name,128,0);
free(name);
}