SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 15 déc. 2007 à 21:31
Ben normalement on fait une boucle qui ne quitte que si le nombre d'octets lus est nul (ou plus petit dans le cas de SOCKET_ERROR).
Ça devrait donc donner quelque chose comme:
Sinon, oui on peut faire "varier" la taille d'un buffer mais seulement avec une allocation dynamique. En fais, on ne fait rien varier. On ne fait qu'allouer une plage mémoire plus grande. De plus, il faudra recopier toute les données de l'ancien buffer vers le nouveau et plus le buffer est gros, plus ça prendra de temps. Grosse perte de performance en perspective.
+OK hello from popgate on pop010.mail.ukl.yahoo.com 2.38.
+OK password require
<hr size ="2" width="100%" />
La je fais 3 recv mais je remarque que si j'en fais plus cela se comporte comme dans la premiere exécution execution:
desktop:~$ ./monpop pop.mail.yahoo.fr identifiant
+OK hello from popgate on pop010.mail.ukl.yahoo.com 2.38.1
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 200815 16 déc. 2007 à 15:07
do
{
recv(...)
} while (condition de sortie)
Dans la condition de sortie, tu regardes si tu as reçu une chaine avec \r\n. (je crois avoir lu que les chaines pop3 se terminent de la sorte)
Tu répetes ça autant de fois que tu en as besoin.