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 46 47
| void envoi_fichier (SOCKET client)
{
FILE* file = NULL;
char addr_file[20] = "";
recv(client, addr_file, 20, 0); /*Le client envoit l'adresse du fichier a ouvrire */
file = fopen(addr_file, "rb");
char buff = 0;
int taille = 0;
printf("Ouverture de '%s'", addr_file);
if(file != NULL)
{
fseek(file, 0, SEEK_END);
taille = ftell(file);
printf("\n%d octets a envoyer\n", taille);
send(client, &taille, 10, 0);
printf("\nOuverture du fichier\n");
rewind(file);
while (taille > 0)
{
/*T_BUFFER vaut 1 */
if (fread(&buff, sizeof(char), T_BUFFER, file) == 0)
{
printf("\nErr fread()");
}
printf("\nCaractere lu : %c, taille : %d octets", buff, sizeof(buff));
if (send(client, &buff, sizeof(buff), 0) == SOCKET_ERROR)
{
printf("\nErr send fichier\n");
}
taille -= T_BUFFER;
}
printf("Fichier envoyer\n");
}
else
{
printf("\nErr ouverture fichier\n");
}
fclose(file);
printf("Fichier fermer\n");
} |
Partager