Hi,

Create the socket into the "start()" method and then call "exec()" to start the event loop of the thread. If you create the QTcpSocket into the "start()" method, this object belongs to the thread that created it, that in this moment is the new thread. Instead if you create the socket into the constructor, the object belongs to the calling thread(main thread in this case).

Unfortunately this project is on VS2003 and I don't see qDebug() output and errors like you
I don't remeber which window you have to select, but I think that "results" window shows the console output.