Я создал простой многопоточный сетевой сервер. main.cpp вызывает app.exec() для бездействия, и поток срабатывает, как и ожидалось, как только я устанавливаю соединение.
В функции run() потока я подключаю сигнал от readyRead к слоту readCommand:
connect(tcpSocketPtr, SIGNAL(readyRead()), this, SLOT(readCommand()) );
и я определил readCommand в файле .h для класса как «частный слот», поскольку он вызывается только внутри класса. Надеюсь, это правильно.
после подключения выше функция run() возвращается. Нет вызова app.exec() или чего-то еще. Может ли это быть проблема? Должен ли я вызывать какую-то функцию, чтобы заставить поток прослушивать сигналы?
Когда я отправляю текст в порт, функция readCommand никогда не срабатывает... и я понятия не имею, как это отлаживать... предложения?
QThread::exec()
внутри телаrun()
, чтобы запустить цикл событий потока. В противном случае поток завершится по достижении концаrun()
. - person RA.   schedule 27.09.2013