Your output states that you read 9 bytes, i.e. nBytesReceived is 9.

How do you get the impression there are only 4?

Cheers,
_