use ggg
This commit is contained in:
parent
25e3bd4a51
commit
2c534781f6
@ -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 *);
|
||||
|
||||
|
@ -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));
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -9,3 +9,5 @@
|
||||
#include "def.h"
|
||||
|
||||
#include "func/init_con.c"
|
||||
#include "func/runtime_call.c"
|
||||
#include "func/sync_client.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;
|
||||
}
|
||||
|
@ -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();
|
||||
|
@ -9,5 +9,4 @@ void init_con(){
|
||||
printf("start listen\n");
|
||||
sockad=accept(sockfd, (struct sockaddr *)&cliaddr, &sin_size);
|
||||
printf("connection started\n");
|
||||
|
||||
}
|
||||
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -10,3 +10,5 @@
|
||||
|
||||
|
||||
#include "func/init_con.c"
|
||||
#include "func/runtime_call.c"
|
||||
#include "func/sync_server.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;
|
||||
|
11
test/check.c
Normal file
11
test/check.c
Normal file
@ -0,0 +1,11 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int main(){
|
||||
|
||||
char a;
|
||||
for(;;){
|
||||
a=getchar();
|
||||
printf("%d\n",a);
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user