
11 May
2011
11 May
'11
1:42 p.m.
On Wednesday, May 11, 2011 8:29 AM, Slav wrote:
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?
Try changing the last line to: while(readBytes != 0);