Bonjour,
Je voudrais vous soumettre mon problème afin d'espérer votre aide.
Mon application en développement doit se connecter à un serveur distant que je ne gère pas. Je veux simplement capter les paquets qu'il m'envoie afin de les imprimer à l'écran. (un petit sniffer quoi)
Voici mon problème :
Ne connaissant pas la taille du buffer, je capte un par un les octets afin des les imprimer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <...> nbre_octet = 1; while((nbre_octet != SOCKET_ERROR)&&(nbre_octet > 0)) { nbre_octet = recv(sd,&tampon,1,0); printf("%c", tampon); }
Ceci marche parfaitement puisque je peux voir à l'écran le contenu du buffer. Cepandant, je ne sors jamais de la boucle WHILE, le programme est toujours en attente de réception.
Comment faire pour quitter la boucle quand je n'ai plus de données à recevoir ? (je rappelle que je ne connais pas la taille du buffer à l'avance).
Merci
Partager