Is your recv or read function giving you back a total of 69 bytes? If so then the TCP part of the socket read is OK, and the "problem" lies on the server end in terms of what it's sending you. It's entirely possible that the server is in fact sending you 69 bytes, 52 of which are printable characters, and the remaining 17 padded out as 0's. A 0 is a perfectly valid byte value to send across a network.
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow