Envoie de fichier. [Résolu]

Signaler
Messages postés
34
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
14 septembre 2008
-
Messages postés
34
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
14 septembre 2008
-
Voici mes 2 morceaux de code qui ont un problème, recv() reçois mais fwrite() ne marque rien du tout. J'ai essayé  avec printf() et fprintf() mais dans la boucle, ces fonctions ne marchent plus. Que faire ?

serveur.c

while(fread(copy, 1, 1, fp) != 0)
{
        send(csock, copy, 1, 0);
}

client.c

while(recv(sock, copy, 1, 0) > 1)
{
        fwrite(copy, 1, 1, fp);
}

2 réponses

Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
recv retourne le nombre d'octet lu, dans ton cas c'est 1. Donc ton test > 1 est toujours faux.


De plus transférer ton fichier octet par octet est un peu bourin je trouve, sachant que l'en-tete IP est de 20 octets, c'est fait beaucoup de trafic pour peu de données utiles.
Messages postés
34
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
14 septembre 2008

Alors il faut que je mette quoi à la place de > 1 ?