I am in learning Qt phase here, so please bear with me.

Imagine a threaded fortune server that serves a different fortune base don a strign you send to it when you conenct. Got the idea? Good.

Now, here is the general shape of what I have:

main_thread
(QtCoreApplication used, no GUI at all)
QTcpServer based class
FortuneDBServerObject (not a *network* server)
connection threads (one per connection)

Essentially the connection threads are "siblings" of the db object, and all are children of the QTcpServer object.

What I need to do is pass a QString (call it StringA) from a connection thread to the FortuneDBServer, and get a response (StringB) back.

I figured I could use a direct connection on the signal to send StringA to the fortunedb object (QObject) with a return value of StringB. Initially I set the signal up inside the thread but that failed wonderfully (i.e. appeared to work but did not). Now I am trying to connect the signal in the QTcpServer class and it is simply nto getting called. At the moment I've changed the dbserver slot to only print it was called and return a static string, just to verify it gets called. Which it does not. No errors, no warnings it just never calls it.

I've tested the networking separately and it all works perfectly. I've even tested the dbserver seperately and it also works perfectly. It is solely the communication bewteen the two I am having difficulty with.

Links, pointers, and example code welcome. Even if it means redesigning it because I have the wrong "model".