1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| int client(int argc , char ** argv){
int sock , nb_lu;
FILE *entree;
struct sockaddr_in adresse;
char buffer[LG_BUFFER];
char path[1024];
if(lecture_argument(argc, argv, &adresse , "udp")<0) exit(EXIT_FAILURE);
adresse.sin_family = AF_INET;
if((sock = socket(AF_INET, SOCK_DGRAM ,0))<0){
perror("erreur socket");
exit(EXIT_FAILURE);
}
printf("donner le chemin du fichier\n");
scanf("%s",path);
if((entree = fopen(path,"r+")) == NULL){
perror("erreur d'ouverture fichier");
exit(EXIT_FAILURE);
}
printf("début de transmission\n");
while((nb_lu = fread(&buffer,sizeof(char),LG_BUFFER,entree)) , !feof(entree)){
if(nb_lu<0){
perror("erreur de fread");
break;
}
//printf("octet transmis : %X\n",buffer);
sendto(sock,&buffer,LG_BUFFER,0,
(struct sockaddr *) &adresse,sizeof(struct sockaddr_in));
}
printf("fin de transmission\n");
fclose(entree);
close(sock);
return EXIT_SUCCESS;
} |
Partager