From 5dba0df6acaad64294c5f2cf04b039ecd1eae05d Mon Sep 17 00:00:00 2001 From: macbook-pro <3101158440@qq.com> Date: Thu, 21 Dec 2023 08:35:50 +0800 Subject: [PATCH] use ggg --- client/func/runtime_call.c | 6 ++-- client/func/sync_client.c | 6 ++-- client/func/trans_client.c | 69 +++++++++++++++++++++++++++++++++++++ client/inclu.h | 7 ++-- server/func/runtime_call.c | 1 + server/func/sync_server.c | 2 +- server/func/trans_server.c | 36 +++++++++++++++++++ server/inclu.h | 6 ++-- test/n | Bin 0 -> 33616 bytes test/name.c | 15 ++++++++ 10 files changed, 137 insertions(+), 11 deletions(-) create mode 100644 client/func/trans_client.c create mode 100644 server/func/trans_server.c create mode 100755 test/n create mode 100644 test/name.c diff --git a/client/func/runtime_call.c b/client/func/runtime_call.c index 5439963..eb50910 100644 --- a/client/func/runtime_call.c +++ b/client/func/runtime_call.c @@ -1,7 +1,8 @@ void runtime_call(){ char a; + char b; printf("input connection mode\n"); - scanf("%c",&a); + scanf("%c%c",&a,&b); for(;a!='q';){ if(a=='1'){ //sync @@ -9,12 +10,13 @@ void runtime_call(){ } else if(a=='2'){ //trans + trans_client(); } else if(a=='3'){ //http } printf("input connection mode again\n"); - scanf("%c",&a); + scanf("%c%c",&a,&b); } send(sockad,&a,1,0); } diff --git a/client/func/sync_client.c b/client/func/sync_client.c index f001b7d..a2e65fa 100644 --- a/client/func/sync_client.c +++ b/client/func/sync_client.c @@ -5,15 +5,13 @@ void sync_client(){ send(sockad,&a,1,0); char *s; s=(char *)malloc(1024*sizeof(char)); - scanf("%c",&a); num=sync_get(s); for(;;){ send(sockad,s,num,0); printf("keep or not?[Y/N]\n"); - scanf("%c",&a); - scanf("%c",&b); + scanf("%c%c",&a,&b); send(sockad,&a,1,0); - if(a=='N'|a=='n'){ + if(a=='N'||a=='n'){ break; } num=sync_get(s); diff --git a/client/func/trans_client.c b/client/func/trans_client.c new file mode 100644 index 0000000..e0f90d2 --- /dev/null +++ b/client/func/trans_client.c @@ -0,0 +1,69 @@ +void trans_client(){ + char a='2'; + send(sockad,&a,1,0); + char b; + + printf("send or get or quit?[S/G/Q]\n"); + scanf("%c%c",&a,&b); + send(sockad,&a,1,0); + + + for(;a!='Q'&&a!='q';){ + if(a=='S'||a=='s'){ + trans_c_send(name); + } + else if(a=='G'||a=='g'){ + trans_c_get(name); + } + + printf("send or get or quit?[S/G/Q]\n"); + scanf("%c%c",&a,&b); + send(sockad,&a,1,0); + + + } + + +} + +void trans_c_send(char *name){ + char *name; + name=(char *)malloc(sizeof(char)*128); + 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 trans_c_get(char *name){ + char *name; + name=(char *)malloc(sizeof(char)*128); + 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; + } +} +*/ diff --git a/client/inclu.h b/client/inclu.h index b14aca3..935467a 100644 --- a/client/inclu.h +++ b/client/inclu.h @@ -1,13 +1,16 @@ #include #include -#include -#include #include #include + +#include +#include #include + #include "def.h" + #include "func/init_con.c" #include "func/runtime_call.c" #include "func/sync_client.c" diff --git a/server/func/runtime_call.c b/server/func/runtime_call.c index 00b8ff5..61f582a 100644 --- a/server/func/runtime_call.c +++ b/server/func/runtime_call.c @@ -9,6 +9,7 @@ void runtime_call(){ } else if(a=='2'){ //trans + trans_server(); } else if(a=='3'){ //http diff --git a/server/func/sync_server.c b/server/func/sync_server.c index 2bc620b..44768ff 100644 --- a/server/func/sync_server.c +++ b/server/func/sync_server.c @@ -9,7 +9,7 @@ void sync_server(){ s[num]='\0'; printf("get chars:%s\n",s); recv(sockad,&a,1,0); - if(a=='N'|a=='n'){ + if(a=='N'||a=='n'){ break; } memset(s,0,1024*sizeof(char)); diff --git a/server/func/trans_server.c b/server/func/trans_server.c new file mode 100644 index 0000000..dcf6c90 --- /dev/null +++ b/server/func/trans_server.c @@ -0,0 +1,36 @@ +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(){ + 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); + +} + +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); + +} diff --git a/server/inclu.h b/server/inclu.h index 75b3ddf..d5efb5d 100644 --- a/server/inclu.h +++ b/server/inclu.h @@ -1,10 +1,12 @@ #include #include -#include -#include #include #include + #include +#include +#include + #include "def.h" diff --git a/test/n b/test/n new file mode 100755 index 0000000000000000000000000000000000000000..ed0698ef27b6e39e628f8b072c2883a5db4f11d6 GIT binary patch literal 33616 zcmeI5U2IfU5Xa~4E?86znq)1|XASvYm2r3~pF%p9&l9+(BICJjlcDta25a0fj z%+8sab7trK?tMM?4BfmoRzhSEi;wj&*3cB9ZVK^;Xg2G5R;3!MUar|%(^xOj$)Xoe z4&C8Noi})*Qd?@8woFdz_0h>OGCsFLq5+duD(iG*jl-s}-kC~oGd*UC__D8@1jx;e zd7xA#+u5ASg$nC!d&#S}#>@~uzh054#|*V770YDPZK)kOfAW6&O}!^fUVOh9i^;Do zzEVzHwWjT)Bi^0+J!$GScxe(pzuv<{ag)+Uo8U+Kn4(*42)`BW^)o?29y*O-eud z{n1gPl|-)eCr?@SS#JD(_Ls3Qe1-j4_8(#!KftxvGAC`>QyP# zW4&E#%>Num_5O68i21rwN8a;%k^ik=m7MIs-?E6eVNLYH{cPTy$vVmK+A#Ok*36Sw z=5W0bTUj4XwA(FCT6Ngj+&d)s?Is^-@5n~t?MbIO?d*zFJBfsyj_ioVBFoFe%frj` zmc@;ArqfO;t5dd}j>Vr}xzz6HNH|Md?DVd-)QT0nf@_LM{U}?_?f&aO$a?vEdWKc_ ze(w?$v3=I~^1g`7WtIHk0iqu7AxRhl0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4ea zAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JOz7Xr6W)9~nC>)2>D^-|D1_cT%8l`^`)M@rxQ*-xMPIA)RCc%>|QgU=gtE_&mN zU-HyL+betdY^RRR6T658B+rLEd-=5I3p{T?&vPq#`TQs6qXW6vk;+~^KitRv(>S`f z>KOOYJLp&EdEUvOk8Akmd*i8jtypCEs$_dH%K5=KMcLy}QKqV0;|qTim1L5pSKv9}uwk0}57{mG30C>P%iK zm2{FBC#z!doura>BGDcr)sb#XWm`#QVs=VQHl1)%vcys}Q>=WDz)xrP^GGG*%IR`q zomof49l4sErX}sR6iw&*&v}A~OrK%#mls%MACI%n;DOwaF1~ytfvpU+$bIVhzTCf_ z@2@WKs|tLtJtE;G?BrhiyTwAp`@f@o#=!00FB<-foZP%zGRPgj&4KYf&EgohVC^9v zcjeRVY~_5DSu~C4z+lLyuUI#s|1{&DlCV)o(vsP&VcGYoC45)c)Po*1^Dq;o+UW`lczj_kFoQD4Z~EBZWqpTgyJx>y@l|;6 z)X|G0C)ON2b>SXK1SlEBQ(HAN+L7cLeTT@P&PTJ^~A$X{pwJlV+@ F{{dDJ*8%_l literal 0 HcmV?d00001 diff --git a/test/name.c b/test/name.c new file mode 100644 index 0000000..3c529ff --- /dev/null +++ b/test/name.c @@ -0,0 +1,15 @@ +#include +#include +#include + +int main(){ + char *name; + int b; + name=(char *)malloc(128*sizeof(char)); + memset(name,0,128*sizeof(char)); + scanf("%s",name); + b=strlen(name); + printf("%d",name[4]); + printf("\nnum:%d",b); + return 0; +}