use ggg
This commit is contained in:
parent
dd35c14a17
commit
60c039b7bf
@ -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();
|
||||
|
@ -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);
|
||||
|
@ -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
3
client/text
Normal file
@ -0,0 +1,3 @@
|
||||
123456snfdnfsdf
|
||||
sdfndnkjsdfsdf
|
||||
sdfsdjfnsdf
|
@ -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();
|
||||
|
@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
@ -14,3 +14,4 @@
|
||||
#include "func/init_con.c"
|
||||
#include "func/runtime_call.c"
|
||||
#include "func/sync_server.c"
|
||||
#include "func/trans_server.c"
|
||||
|
0
server/text
Normal file
0
server/text
Normal file
Loading…
Reference in New Issue
Block a user