Indeed. TCP is a stream protocol, which means that there's no concept of "message boundaries" on the receiving side. You know that your data has been transfered correctly, and is in the right order, but you have no idea where it ends unless you handle it explicitly, either by sending the size first, or by using some special delimiter character (not applicable here).