Добавь QCoreApplication app(argc, argv);
C++ (Qt)
int main(int argc, char **argv){
QCoreApplication app(argc, argv);
int a;
cin >> a;
if (a == 0)
return server();
else if (a == 1)
return client();
else
return 0;
}
И добавь waitForReadyRead()
C++ (Qt)
int server(){
.....
else
cout << "::server socket state " << socket.state() << " ...\n";
if (!socket.waitForReadyRead())
return 1;
QTextStream stream(&socket);
....
}
Но лучше перейти на асинхронный режим работы (signal/slot), чтоюы не блокировать главный поток. Ознакомся с документацией по QAbstractSocket в ассистанте.