[C/C++] Socket et buffer de réception

Socket et buffer de réception [C/C++] - C++ - Programmation

Marsh Posté le 22-10-2002 à 10:20:28    


 
Bonjour,
 
Comment savoir si le buffer de réception d'un socket contient
des données ou non ?
 
Merci


---------------
Du temps à perdre ? -> http://www.juju-le-barbare.fr.fm
Reply

Marsh Posté le 22-10-2002 à 10:20:28   

Reply

Marsh Posté le 22-10-2002 à 13:44:58    

no idea ?


---------------
Du temps à perdre ? -> http://www.juju-le-barbare.fr.fm
Reply

Marsh Posté le 22-10-2002 à 13:48:08    

?
 
ta fonction recv te retourne le nb d'octet lu, donc avec ca tu devrais y arriver, non ?

Reply

Marsh Posté le 22-10-2002 à 18:16:45    

chrisbk a écrit a écrit :

?
 
ta fonction recv te retourne le nb d'octet lu, donc avec ca tu devrais y arriver, non ?




 
En fait je m'explique,
 
Imaginons que le client m'envoie 50 octets, qui seront dans le buffer, et recv me donnera 50.
Mais je souhaite manipuler les 25 premiers, et effacer completement le buffer.
 
Car au prochain appel de recv, il garde les 25 octets suivants et c'est ceux-là que je manipule au lieu de 25 premiers du paquet de 50 suivant.
 
Ai-je été clair ?
 
Donc en fait la question est de savoir comment vider le buffer de réception
 
Merci d'avance !!!
 
juju


---------------
Du temps à perdre ? -> http://www.juju-le-barbare.fr.fm
Reply

Marsh Posté le 22-10-2002 à 18:24:19    

A mon avis t'es obligé de lire les 25 octets suivants avec recv pour pouvoir vider le buffer..
 
T'a qu'à lire les 50 octets et ne t'occuper que des 25 premiers..

Reply

Marsh Posté le 22-10-2002 à 18:43:40    

*Syl* a écrit a écrit :

A mon avis t'es obligé de lire les 25 octets suivants avec recv pour pouvoir vider le buffer..
 
T'a qu'à lire les 50 octets et ne t'occuper que des 25 premiers..




 
Oki chef, je fais ça:)
 
ça parait simple, mais dans le contexte ça l'est moins, mais je le ferai quand même:)
 
@++


---------------
Du temps à perdre ? -> http://www.juju-le-barbare.fr.fm
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed