make sure you're setting the data stream version. error control it built into tcp.

If you're passing raw data then the error is likely in your write/read routines.

If you're passing Qt types around then make sure enough data is available to read, otherwise you will not be able to construct objects when they are received.

check out QDataStream << and >> operators