Frage zu Boost asio - unterschiede read und receive
-
Hi,
ich hab da mal ne Frage zu boost::asio... und zwar... dort gibt es die Klasse boost::asio::tcp::socket und diese hat unter anderem folgende Methoden:
async_read und async_receive
was ist denn genau der unterschied zwischen read und receive? Wann nimmt man was?
Danke schonmal
Grüßle Sulo
-
Steht doch in der Dokumentation zu
async_receive
:The receive operation may not receive all of the requested number of bytes. Consider using the
async_read
function if you need to ensure that the requested amount of data is received before the asynchronous operation completes.Grüssli
-
Die richtige Frage wäre wohl: Was ist der Unterschied zwischen (async)receive und (async)read_some. Der einzige Unterschied den ich sehe ist dass receive noch ein paar Flags nehmen kann. Bis jetzt habe ich in der Doku aber nichts darüber gefunden.
Edit:
Ah, das scheinen die flags zu sein:/// Peek at incoming data without removing it from the input queue. static const int message_peek = implementation_defined; /// Process out-of-band data. static const int message_out_of_band = implementation_defined; /// Specify that the data should not be subject to routing. static const int message_do_not_route = implementation_defined;
-
Sind beide identisch.
read_some
soll die Nähe zuiostreams
aufzeigen undreceive
die Nähe zu Sockets. Quasi zwei Namen für die gleiche Funktion, wobei je nach Betrachtung der eine oder andere Name verwendet wird.