|
Boost Users : |
Subject: [Boost-users] [asio] socket::read_some() splits data into two parts.
From: Slav (slavmfm_at_[hidden])
Date: 2011-05-11 08:28:47
Hello.
I sent 8004 bytes to server through TCP connection and successfully read it
like this:
int readBytes;
const int BUFFER_SIZE = 128;
char charBuf[BUFFER_SIZE];
do
{
readBytes = socket.read_some(boost::asio::buffer(charBuf,
BUFFER_SIZE));
}
while(readBytes >= BUFFER_SIZE);
But sometimes this code reads just 3752 (precisely) bytes and returns. After
that it handles another async_read and reads 4525 bytes (which in sum gives
8004 bytes).
Do I use "read_some()" function in the right way?
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net