Sending and Recieving QTcpSocket in different threads
===

I am looking to design a high traffic server using Qt's QTcpServer. The flow of the current design is the following:

TcpReciever(QTcpServer) => DatabaseClass(QObject) => TcpSender(QObject)

The DatabaseClass and TcpSender are run in their own thread.  

The information is passed between threads through signals/slots. ie:

    connect(this, SIGNAL(sendInfo(QTcpSocket*,int)),
            databaseClass, SLOT(infoFromReciever(QTcpSocket*,int)),
            Qt::QueuedConnection);

After writing out to the socket, I get the following error despite all of my code executing correctly, and continuing to run correctly:

QObject: Cannot create children for a parent that is in a different thread.
(Parent is QNativeSocketEngine(0xe489c0), parent's thread is QThread(0xe30890), current thread is QThread(0xe49a00)

    OTextStream os(socket);
    os << "HTTP/1.0 200 Ok\r\n"
          "Content-Type: text/html; charset=\"utf-8\"\r\n"
          "\r\n" << infoString.c_str() << "\n";
    socket->deleteLater();

This is the bulk of my TcpSender, the error comes after the function is executed. 

Does anyone have any idea why my error is happening.  I am guessing that there is a signal being emitted(possibly when the QTcpSocket is being deleted, or is trying to be deleted).  Or is there something wrong with my design, and all TCP I/O should be done in the same thread(QTcpServer).

Thank you