I'm a network programming newbie so I must ask this silly question.

If I send data over the network with a QTextStream connected to a socket, must I add newline to the end of the data I wish to send?

How can I be sure that I've got all the data?
Should I write a slot that is connected to readyRead and when it's called, it checks canReadLine(), and if true, it then read the line?

Might this be the reason for sending a \n to indicate that the line is finished?