From 2c534781f664c745d6d2d1a655518a760aa92a85 Mon Sep 17 00:00:00 2001 From: macbook-pro <3101158440@qq.com> Date: Wed, 20 Dec 2023 14:53:44 +0800 Subject: [PATCH] use ggg --- client/def.h | 5 +++++ client/func/init_con.c | 1 - client/func/runtime_call.c | 11 ++++++++--- client/func/sync_client.c | 33 +++++++++++++++++++++++++++++++++ client/inclu.h | 2 ++ client/main.c | 7 ++++--- server/def.h | 3 +++ server/func/init_con.c | 1 - server/func/runtime_call.c | 27 +++++++++++++++++---------- server/func/sync_server.c | 15 +++++++++++++++ server/inclu.h | 2 ++ server/main.c | 11 ++++++----- test/c | Bin 0 -> 33472 bytes test/check.c | 11 +++++++++++ 14 files changed, 106 insertions(+), 23 deletions(-) create mode 100755 test/c create mode 100644 test/check.c diff --git a/client/def.h b/client/def.h index ac1029e..188daf8 100644 --- a/client/def.h +++ b/client/def.h @@ -5,6 +5,11 @@ struct sockaddr_in seraddr; struct sockaddr_in cliaddr; int len; char s_call=0; +int runtime_break=0; void init_con(); +void runtime_call(); +void sync_client(); +int sync_get(char *); + diff --git a/client/func/init_con.c b/client/func/init_con.c index 61c4be1..c9df70b 100644 --- a/client/func/init_con.c +++ b/client/func/init_con.c @@ -5,5 +5,4 @@ void init_con(){ seraddr.sin_port = htons(8000); seraddr.sin_addr.s_addr = inet_addr("127.0.0.1"); connect(sockad,(struct sockaddr *)&seraddr, sizeof(struct sockaddr)); - } diff --git a/client/func/runtime_call.c b/client/func/runtime_call.c index cc1a017..9819361 100644 --- a/client/func/runtime_call.c +++ b/client/func/runtime_call.c @@ -1,8 +1,9 @@ void runtime_call(){ char a; + int b; printf("input connection mode\n"); - a=getchar(); - for(;;){ + scanf("%c",&a); + for(;a!='q';){ if(a=='1'){ //sync sync_client(); @@ -13,6 +14,10 @@ void runtime_call(){ else if(a=='3'){ //http } - a=getchar(); + if(runtime_break){ + break; + } + printf("input connection mode again\n"); + scanf("%c",&a); } } diff --git a/client/func/sync_client.c b/client/func/sync_client.c index 4b2137b..e4f21b4 100644 --- a/client/func/sync_client.c +++ b/client/func/sync_client.c @@ -1,6 +1,39 @@ void sync_client(){ + char b; + int num=0; char a='1'; 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); + send(sockad,&a,1,0); + if(a=='N'|a=='n'){ + runtime_break=1; + break; + } + num=sync_get(s); } + free(s); +} + + +int sync_get(char * s){ + int i; + char a; + memset(s,0,1024*sizeof(char)); + printf("input chars:\n"); + scanf("%c",&a); + for(i=0;a!='\0'&&a!='\n';i++){ + s[i]=a; + scanf("%c",&a); + } + s[i]='\0'; + printf("input done\n"); + return i; } diff --git a/client/inclu.h b/client/inclu.h index d14c918..b14aca3 100644 --- a/client/inclu.h +++ b/client/inclu.h @@ -9,3 +9,5 @@ #include "def.h" #include "func/init_con.c" +#include "func/runtime_call.c" +#include "func/sync_client.c" diff --git a/client/main.c b/client/main.c index 1f2af01..7963574 100644 --- a/client/main.c +++ b/client/main.c @@ -4,10 +4,11 @@ int main(int argc, char *argv[]) { init_con(); - len=recv(sockad,s,1024,0); - printf("%s\n",s); + runtime_call(); +// len=recv(sockad,s,1024,0); +// printf("%s\n",s); close(sockad); - return EXIT_SUCCESS; + return 0; } diff --git a/server/def.h b/server/def.h index 8e95cb0..9ff39e7 100644 --- a/server/def.h +++ b/server/def.h @@ -3,6 +3,9 @@ int sockad; struct sockaddr_in seraddr; struct sockaddr_in cliaddr; int len_s; +int runtime_break=0; int sin_size=sizeof(struct sockaddr_in); char s[3]; void init_con(); +void runtime_call(); +void sync_server(); diff --git a/server/func/init_con.c b/server/func/init_con.c index 9046073..1ec768e 100644 --- a/server/func/init_con.c +++ b/server/func/init_con.c @@ -9,5 +9,4 @@ void init_con(){ printf("start listen\n"); sockad=accept(sockfd, (struct sockaddr *)&cliaddr, &sin_size); printf("connection started\n"); - } diff --git a/server/func/runtime_call.c b/server/func/runtime_call.c index 9bcfc59..f76b544 100644 --- a/server/func/runtime_call.c +++ b/server/func/runtime_call.c @@ -1,15 +1,22 @@ void runtime_call(){ char a; + printf("runtime_call is running\n"); recv(sockad,&a,1,0); - if(a=='1'){ - //sync - sync_server(); - } - else if(a=='2'){ - //trans - } - else if(a=='3'){ - //http + for(;a!='q';){ + if(a=='1'){ + //sync + sync_server(); + } + else if(a=='2'){ + //trans + } + else if(a=='3'){ + //http + } + if(runtime_break){ + break; + } + recv(sockad,&a,1,0); + printf("runtime_call is running\n"); } } - diff --git a/server/func/sync_server.c b/server/func/sync_server.c index 413465f..8837144 100644 --- a/server/func/sync_server.c +++ b/server/func/sync_server.c @@ -1,4 +1,19 @@ void sync_server(){ + int num; + char a; + char *s; + s=(char *)malloc(1024*sizeof(char)); + memset(s,0,1024*sizeof(char)); for(;;){ + num=recv(sockad,s,1024,0); + s[num]='\0'; + printf("get chars:%s\n",s); + recv(sockad,&a,1,0); + if(a=='N'|a=='n'){ + runtime_break=1; + break; + } + memset(s,0,1024*sizeof(char)); } + free(s); } diff --git a/server/inclu.h b/server/inclu.h index 6be1397..75b3ddf 100644 --- a/server/inclu.h +++ b/server/inclu.h @@ -10,3 +10,5 @@ #include "func/init_con.c" +#include "func/runtime_call.c" +#include "func/sync_server.c" diff --git a/server/main.c b/server/main.c index f21fce0..5081581 100644 --- a/server/main.c +++ b/server/main.c @@ -2,12 +2,13 @@ int main(int argc,char **argv) { - len_s=3; - s[0]='3'; - s[1]='4'; - s[2]='1'; +// len_s=3; +// s[0]='3'; +// s[1]='4'; +// s[2]='1'; init_con(); - send(sockad,s, len_s, 0); + runtime_call(); +// send(sockad,s, len_s, 0); close(sockfd); close(sockad); return 0; diff --git a/test/c b/test/c new file mode 100755 index 0000000000000000000000000000000000000000..e024d3c79b314a64a965bd55ce3b87f550fbc217 GIT binary patch literal 33472 zcmeI5UufG^6vt2gbhKK#Ds?JOmzVjsO|rJk&4-z`3tQ<}OV?s8!d;sD+N4X9@N3H2 zuGVbO>HZ*{_F*r&K8UNLP)3IxGFq5SC^{*~rZS`oLIw3jgl@9cb8db~la@JTAPC+aP&%JrPzx(yg-)Hk^Bg^Kckf_sYRw`-qCoO}E)$yV)rIRVQx`-`#WyMLU zY@I7g^(Ol|db6(8@lIRu9<_Riog1&vipLDKC>88Ynvqyn*3Qp&(u$YKM{I}HSBl)& zVk>2YRi_!~F~nM%@3a+9_DDqR+<5mBh0`tRU)hJ#tV->yX{k|ljeGZ{cf)5L0xq?z zDkY|<>{ThNQeE+!ZMb7R>8r(;zpi!c%*}P>ob9RK+u+|>pE)C`RqJ9~WY!ui>(S>& zdx@%vQhLr5QG$I{mYrbR%eD-Yy_{fM_F#!i@iQlCV$Bulo6%f(%}gWL_=(gJkBcX@Sp$kwf$dIoqxOiqsiva=jtoj=VDFgBvDFqUGJ&w zw&OYWl(J^z8O~4Q$T`mynRgqjv`G$*(9`@kvaPIz*RyY+H)-^^Yu&uANC$Uf*~sx+ zT*`P~G#&^Urb+~o*)t^V`>l3QJdyN-<2^=)X&m&_8PRCK^mGM-o-I}GEpD$)SItmF|KQ$*tXxYXSKef)bFFVoXgtipFZMO4V; zvz9%G@9NdaYH}=1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00jPr z1ePz+{H;T_4{z1cDZX1ewlG867iMO+FF5D|r!z{kJ5KQ>-LV_X%a8CK)5%i1?*`d7 zUDfq<>H6l-eLC|pD}TpeGuir|w3QZb(w=hugVp_ld10 zzR{YpuCk`GE>u7O1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY{( zQvxoYt%yo_s%10(=Gy7$GSd>d_{I9Q(<(jfot7?vZ~jm`%aPwohZhf(u}`udBs&)8OFE~Ythz@&QcKxJz+Vju9nNK#@f^_KQ2gh1}{>k0EW4bZspEmv~96!_g!u8e{ z6Ezo~FZ%SePhS7{TwDC|FP*c_YxDC5?2T;&%R^H`gCpNxJhA&&`PsX**Va{RJTbbp zyJ3p1TrRlq$I^)Z=&q}0%idUg=hC@9-B$w5Q^Vcg9G`QZtbP9oMTTa^qsIs49*n;F zdqee+fejOPi+``}-3RKNGe^JrZtA)@a&=(oOw+gV(jUFU+g^^?uFWsL5-0i_VDOKW literal 0 HcmV?d00001 diff --git a/test/check.c b/test/check.c new file mode 100644 index 0000000..6d19965 --- /dev/null +++ b/test/check.c @@ -0,0 +1,11 @@ +#include + +int main(){ + + char a; + for(;;){ + a=getchar(); + printf("%d\n",a); + } + return 0; +}