This commit is contained in:
macbook-pro 2023-12-21 08:35:50 +08:00
parent 037cb803cc
commit 5dba0df6ac
10 changed files with 137 additions and 11 deletions

View File

@ -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);
}

View File

@ -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);

View File

@ -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;
}
}
*/

View File

@ -1,13 +1,16 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include "def.h"
#include "func/init_con.c"
#include "func/runtime_call.c"
#include "func/sync_client.c"

View File

@ -9,6 +9,7 @@ void runtime_call(){
}
else if(a=='2'){
//trans
trans_server();
}
else if(a=='3'){
//http

View File

@ -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));

View File

@ -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);
}

View File

@ -1,10 +1,12 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include "def.h"

BIN
test/n Executable file

Binary file not shown.

15
test/name.c Normal file
View File

@ -0,0 +1,15 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
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;
}