This commit is contained in:
suzhe 2023-12-25 09:41:27 +08:00
parent dd35c14a17
commit 60c039b7bf
10 changed files with 59 additions and 12 deletions

BIN
client/c Executable file

Binary file not shown.

View File

@ -11,4 +11,6 @@ void init_con();
void runtime_call();
void sync_client();
int sync_get(char *);
void trans_client();
void trans_c_send();
void trans_c_get();

View File

@ -10,10 +10,10 @@ void trans_client(){
for(;a!='Q'&&a!='q';){
if(a=='S'||a=='s'){
trans_c_send(name);
trans_c_send();
}
else if(a=='G'||a=='g'){
trans_c_get(name);
trans_c_get();
}
printf("send or get or quit?[S/G/Q]\n");
@ -26,36 +26,53 @@ void trans_client(){
}
void trans_c_send(char *name){
void trans_c_send(){
char *name;
char *s;
int num_name;
FILE *f;
int num_text=0;
char a;
char b;
name=(char *)malloc(sizeof(char)*128);
s=(char *)malloc(1024*sizeof(char));
int num_name;
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);
FILE *f;
int num_text=0;
char a;
f=fopen(name,"r+");
a=fgetc(f);
for(;a!=EOF;){
*(s+num_text)=a;
num_text++;
a=fgetc(f);
if(num_text==1024){
num_text=0;
b='a';
send(sockad,s,1024,0);
send(sockad,&b,1,0);
memset(s,0,1024*sizeof(char));
}
else if(a=EOF){
b='Q';
send(sockad,s,num_text,0);
send(sockad,&b,1,0);
}
}
fclose(f);
a='Q';
send(sockad,&a,1,0);
free(name);
free(s);
}
void trans_c_get(char *name){
void trans_c_get(){
char *name;
char *s;
name=(char *)malloc(sizeof(char)*128);

View File

@ -14,3 +14,4 @@
#include "func/init_con.c"
#include "func/runtime_call.c"
#include "func/sync_client.c"
#include "func/trans_client.c"

3
client/text Normal file
View File

@ -0,0 +1,3 @@
123456snfdnfsdf
sdfndnkjsdfsdf
sdfsdjfnsdf

View File

@ -8,3 +8,6 @@ char s[3];
void init_con();
void runtime_call();
void sync_server();
void trans_server();
void trans_s_get();
void trans_s_send();

View File

@ -16,12 +16,32 @@ void trans_server(){
}
void trans_s_get(){
FILE *f;
char *name;
char *s;
int i;
int num_s;
char a;
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);
f=fopen(name,"w+");
for(;a!='Q'&&a!='q';){
num_s=recv(sockad,s,1024,0);
for(i=0;i<num_s;i++){
fputc(*(s+i),f);
}
memset(s,0,1024*sizeof(char));
recv(sockad,&a,1,0);
}
free(name);
free(s);
}

View File

@ -14,3 +14,4 @@
#include "func/init_con.c"
#include "func/runtime_call.c"
#include "func/sync_server.c"
#include "func/trans_server.c"

BIN
server/s Executable file

Binary file not shown.

0
server/text Normal file
View File