Question

Quelle est la différence entre le read_some / write_some des fonctions membres de boost :: asio :: ip :: tcp :: socket et en appelant les fonctions libres boost :: asio :: read / boost :: asio :: write ?

Plus spécifiquement:

Y at-il un avantage à utiliser l’un sur l’autre?

Pourquoi les deux sont-ils inclus dans la bibliothèque?

Était-ce utile?

La solution

read_some et write_some peuvent être renvoyés dès qu'un seul octet a été transféré. En tant que tel, vous devez effectuer une boucle si vous voulez avoir toutes les données, mais c'est peut-être ce que vous voulez.

Les fonctions libres encapsulent les commandes read_some et write_some et ont des conditions de terminaison différentes en fonction de la surcharge. Généralement, ils attendent que la mémoire tampon soit intégralement transférée (ou qu’une erreur se produise ou, dans certains cas, une condition d’achèvement explicite se produise).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top