Потому что reciveData нужно вызывать когда данные действительно придут.
т.е. связать с сигналом readyRead:
connect(pmSock, &QTcpSocket::readyRead, this, &Client::reciveData );
ну или в бесконечный цикл засунуть проверку, но это не по фен-шую.
И забудьте про
waitForBytesWritten();
waitForReadyRead()
Они вешают интерфейс (полезны разве что в отдельном потоке), используйте сигналы-слоты.