Question

Etant donnés deux objets E / S orientés flux Asio , ce qui est la façon la plus simple de transmettre des données d'un dispositif à l'autre dans les deux directions? Cela pourrait-il être fait avec boost :: iostreams :: combinaison ou boost :: iostreams: copie peut-être? Ou est une approche manuelle mieux - attente des données sur chaque extrémité, puis l'écrire sur l'autre cours d'eau? En d'autres termes, comment peut-on l'effet de levier Boost et Asio pour produire une quantité minimale de code?

Un exemple d'application serait le streaming entre un port série et socket TCP comme demandé dans cette question.

Était-ce utile?

La solution

Avec la norme C ++ vous flux peuvent faire ce qui suit, ne pouvez-vous faire quelque chose de similaire avec Asio?

// Read all data from in and write to out.
void forward_data( std::istream& in, std::ostream& out )
{
  out << in.rdbuf();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top