diff --git a/client/c b/client/c new file mode 100755 index 0000000..355b9d8 Binary files /dev/null and b/client/c differ diff --git a/client/count.c b/client/count.c new file mode 100644 index 0000000..2f65b52 --- /dev/null +++ b/client/count.c @@ -0,0 +1,36 @@ +#include +#include +#include + +void int_to_char(); + +int main(){ + int_to_char(); + return 0; +} + +void int_to_char(){ + + int num_text; + char *num_send; + int a; + int i; + int m; + int d; + num_send=(char *)malloc(4*sizeof(char)); + printf("input num:\n"); + scanf("%d",&num_text); + for(i=0;i<4;i++){ + m=3-i; + for(d=1;m>0;){ + d=d*10; + m--; + } + m=d; + a=num_text/m; + num_text=num_text-a*m; + num_send[i]=a+48; + } + printf("num_send is: %s\n",num_send); + free(num_send); +} diff --git a/client/def.h b/client/def.h index 6c6b331..789a62b 100644 --- a/client/def.h +++ b/client/def.h @@ -14,3 +14,5 @@ int sync_get(char *); void trans_client(); void trans_c_send(); void trans_c_get(); +void int_to_char(int num_text,char *num_send); + diff --git a/client/func/trans_client.c b/client/func/trans_client.c index 0c27b60..7cd0e11 100644 --- a/client/func/trans_client.c +++ b/client/func/trans_client.c @@ -38,17 +38,23 @@ void trans_c_send(){ int num_name; FILE *f; int num_text=0; + char *num_send; char a; char b; + int sock_status; name=(char *)malloc(sizeof(char)*128); s=(char *)malloc(1024*sizeof(char)); + num_send=(char *)malloc(4*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); + sock_status=send(sockad,name,num_name,0); + for(;sock_status<0;){ + sock_status=send(sockad,name,num_name,0); + } f=fopen(name,"r+"); @@ -59,18 +65,49 @@ void trans_c_send(){ num_text++; a=fgetc(f); if(a==EOF){ + int_to_char(num_text,num_send); b='Q'; + sock_status=send(sockad,num_send,4,0); + for(;sock_status<0;){ + sock_status=send(sockad,num_send,4,0); + } + + sock_status=send(sockad,s,num_text,0); + for(;sock_status<0;){ + sock_status=send(sockad,s,num_text,0); + } + printf("sock_status is %d\n",sock_status); + + sock_status=send(sockad,&b,1,0); + for(;sock_status<0;){ + sock_status=send(sockad,&b,1,0); + } + printf("sock_status is %d\n",sock_status); printf("sending %s\n",s); printf("sending %c\n",b); - send(sockad,s,num_text,0); - send(sockad,&b,1,0); } else if(num_text==1024){ b='A'; + int_to_char(num_text,num_send); + + sock_status=send(sockad,num_send,4,0); + for(;sock_status<0;){ + sock_status=send(sockad,num_send,4,0); + } + + sock_status=send(sockad,s,num_text,0); + for(;sock_status<0;){ + sock_status=send(sockad,s,num_text,0); + } + + sock_status=send(sockad,&b,1,0); + for(;sock_status<0;){ + sock_status=send(sockad,&b,1,0); + } + printf("sending %s\n",s); printf("sending %c\n",b); - send(sockad,s,num_text,0); - send(sockad,&b,1,0); + memset(s,0,1024*sizeof(char)); num_text=0; } @@ -78,6 +115,7 @@ void trans_c_send(){ fclose(f); free(s); free(name); + free(num_send); printf("exit trans\n"); } @@ -100,18 +138,21 @@ void trans_c_get(){ } -/* -void itc(int num_name,char *num_name_char){ + +void int_to_char(int num_text,char *num_send){ 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; + int d; + for(i=0;i<4;i++){ + m=3-i; + for(d=1;m>0;){ + d=d*10; + m--; + } + m=d; + a=num_text/m; + num_text=num_text-a*m; + num_send[i]=a+48; } } -*/ - diff --git a/server/count.c b/server/count.c new file mode 100644 index 0000000..f0000da --- /dev/null +++ b/server/count.c @@ -0,0 +1,22 @@ +#include + +int main(){ + char num_send[4]; + int i; + int a; + int m; + int d; + int s=0; + scanf("%s",num_send); + for(i=0;i<4;i++){ + a=3-i; + for(d=1;a>0;a--){ + d=d*10; + } + m=num_send[i]-48; + s=s+m*d; + } + + printf("s is %d\n",s); + return 0; +} diff --git a/server/def.h b/server/def.h index f526bb0..a10b734 100644 --- a/server/def.h +++ b/server/def.h @@ -11,3 +11,5 @@ void sync_server(); void trans_server(); void trans_s_get(); void trans_s_send(); +int char_to_int(char *num_send); + diff --git a/server/func/trans_server.c b/server/func/trans_server.c index 708c051..ee00abc 100644 --- a/server/func/trans_server.c +++ b/server/func/trans_server.c @@ -22,15 +22,21 @@ void trans_s_get(){ char *name; char *s; int i; - int num_s; + int sock_status; char a; + char *num_send; + int num_sen; a='a'; + num_send=(char *)malloc(4*sizeof(char)); 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); + sock_status=recv(sockad,name,128,0); + for(;sock_status<0;){ + sock_status=recv(sockad,name,128,0); + } printf("get name : %s\n",name); @@ -38,8 +44,20 @@ void trans_s_get(){ printf("opening text\n"); for(;a!='Q';){ - num_s=recv(sockad,s,1024,0); - recv(sockad,&a,1,0); + sock_status=recv(sockad,num_send,4,0); + for(;sock_status<0;){ + sock_status=recv(sockad,num_send,4,0); + } + num_sen=char_to_int(num_send); + + sock_status=recv(sockad,s,num_sen,0); + for(;sock_status<0;){ + sock_status=recv(sockad,s,num_sen,0); + } + sock_status=recv(sockad,&a,1,0); + for(;sock_status<0;){ + sock_status=recv(sockad,&a,1,0); + } printf("get this chars:%s\n",s); printf("get a: %c\n",a); fprintf(f,"%s",s); @@ -62,3 +80,21 @@ void trans_s_send(){ free(name); } + +int char_to_int(char *num_send){ + int i; + int a; + int m; + int d; + int s=0; + for(i=0;i<4;i++){ + a=3-i; + for(d=1;a>0;a--){ + d=d*10; + } + m=num_send[i]-48; + s=s+m*d; + } + + return s; +} diff --git a/server/s b/server/s new file mode 100755 index 0000000..de65ef1 Binary files /dev/null and b/server/s differ diff --git a/server/te b/server/te new file mode 100644 index 0000000..dcea85d --- /dev/null +++ b/server/te @@ -0,0 +1 @@ +ashdsdsbndsbdkjasbdkjasdbas diff --git a/server/text b/server/text index e69de29..bf43cb8 100644 --- a/server/text +++ b/server/text @@ -0,0 +1,300 @@ +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf +123456snfdnfsdf +sdfndnkjsdfsdf +sdfsdjfnsdf