Tim:
If I had to guess here I would guess the other side is trying to read everything in one read. Not a good idea with TCP/IP. TCP/IP packets everything. You may have to make several reads before you get a whole message. Tha’s why we need encapsulation or length encoding.