Bonjour,
peut-on trouver le code de recv() quelque part?
C'est quoi exactement l'évènement/flag qui "fait passer" cette fonction quand elle est bloquante? La présence de quelque-chose dans le buffer?
Bonjour,
peut-on trouver le code de recv() quelque part?
C'est quoi exactement l'évènement/flag qui "fait passer" cette fonction quand elle est bloquante? La présence de quelque-chose dans le buffer?
Voilà ce que j'ai... https://www.tutorialspoint.com/unix_...calls/recv.htm
Il y a pléthore de bouquins qui parlent de cela aussi, ... je n'en ai pas sous la main là tout de suite.
Merci pour ta réponse hurukan.
Cependant, j'ai déjà lu cette doc (et pas qu'une fois), j'aurais besoin de rentrer plus dans le détail.
On peut y lire par exemple:
Les données dépassant du tampon fourni par recv() peuvent ("may") être mise à la poubelle selon le type de socket.If a message is too long to fit in the supplied buffer, excess bytes may be discarded depending on the type of socket the message is received from.
Mais dans quelles conditions? Pour quel type de socket? En l'occurrence j'ai trouvé la réponse à cette question, mais j'aurais besoin d'aller plus loin (en définitive peut-être de consulter le code source).
oui dans ce cas, si tu es sur Linux, il est possible de trouver la fontion recv() dans les sources.
J'ai pas eu le temps de chercher... je pense qu'elles sont disponibles sur internet sous forme de RFC
[EDIT]
https://www.rfc-editor.org/rfc/rfc761
https://datatracker.ietf.org/doc/htm...58#section-7.1
Mais encore une fois je ne pense pas que cela satisfasse ta curiosité :{
Partager