void trans_client(){ char a; a='2'; send(sockad,&a,1,0); char b; printf("send or get or quit?[S/G/Q]\n"); scanf("%c",&a); printf("a is %c\n",a); send(sockad,&a,1,0); for(;a!='Q'&&a!='q';){ if(a=='S'||a=='s'){ trans_c_send(); } else if(a=='G'||a=='g'){ trans_c_get(); } scanf("%c",&b); printf("send or get or quit?[S/G/Q]\n"); scanf("%c",&a); scanf("%c",&b); send(sockad,&a,1,0); printf("a is %c\n",a); } } void trans_c_send(){ printf("trans_c_send is running\n"); char *name; char *s; int num_name; FILE *f; int num_text=0; char a; char b; name=(char *)malloc(sizeof(char)*128); s=(char *)malloc(1024*sizeof(char)); memset(name,0,128*sizeof(char)); memset(s,0,1024*sizeof(char)); printf("input the name of file:"); scanf("%s",name); num_name=strlen(name); send(sockad,name,num_name,0); f=fopen(name,"r+"); a=fgetc(f); printf("opening file\n"); for(;a!=EOF;){ *(s+num_text)=a; num_text++; a=fgetc(f); if(a==EOF){ b='Q'; printf("sending %s\n",s); send(sockad,s,num_text,0); // send(sockad,&b,1,0); } else if(num_text==1024){ b='A'; printf("sending %s\n",s); send(sockad,s,num_text,0); // send(sockad,&b,1,0); memset(s,0,1024*sizeof(char)); } } fclose(f); free(s); free(name); printf("exit trans\n"); } void trans_c_get(){ char *name; char *s; name=(char *)malloc(sizeof(char)*128); s=(char *)malloc(1024*sizeof(char)); int num_name; memset(name,0,128*sizeof(char)); printf("input the name of file:"); scanf("%s",name); num_name=strlen(name); send(sockad,name,num_name,0); free(name); } /* void itc(int num_name,char *num_name_char){ int a; int i; int m; for(i=0;i<3;i++){ m=2-i; m=(int)pow(10,m); a=num_name/m; num_name=num_name-a*m; num_name_char[i]=a+48; } } */