История изменений
Исправление alex_custov, (текущая версия) :
Можно сделать так. Коннектишь сигнал о приходе данных от TCP клиента к слоту. Вызываешь exec(). Сигнал приходит и вызывается слот. В слоте читаешь эти данные и делаешь quit(N).
Как-то так (у меня sslsocket):
void Thread::run()
{
QSslSocket socket;
...
connect(&socket, SIGNAL(bytesAvailable..., SLOT(slotBytes()));
while(true)
{
switch(exec())
{
case 1:
buffer = socket.readAll();
break;
}
}
}
void Thread::slotBytes()
{
quit(1);
}
Можно коннектить не к слоту, а сразу к quit(), если кроме прихода данных тебе никаких сигналов не нужно. Кривовато, но что поделаешь.
Исходная версия alex_custov, :
Можно сделать так. Коннектишь сигнал о приходе данных от TCP клиента к слоту. Вызываешь exec(). Сигнал приходит и вызывается слот. В слоте читаешь эти данные и делаешь quit(N).
Как-то так (у меня sslsocket):
void Thread::run()
{
QSslSocket socket;
...
connect(&socket, SIGNAL(bytesAvailable..., SLOT(slotBytes()));
while(true)
{
switch(exec())
{
case 1:
buffer = socket.readAll();
break;
}
}
}
void Thread::slotBytes()
{
quit(1);
}
Кривовато, но что поделаешь.