as far as I know (I've never used it yet) the method readLine() reads
data up to the next end-of-line character. So if you're dealing with
binary coded data you simply can't assume that any string will be
delimited by an end-of-line character (such as LF, 0x0a, on Unix and
CR/LF, 0x0d+0x0a, on Windows).
Stick to reading the data in binary mode, there's probably no other
way. Try to determine for your particular transport protocol how
strings are encoded; I bet they are not terminated by newline
characters.