Я попытался реализовать сервер сокетов tcp с C++/Qt. Сначала локальная декларация clientConnection работает.QTcpServer как читать данные из клиентского сокета
QTcpSocket * clientConnection = tcpServer-> nextPendingConnection();
Однако, когда я попытался объявить сокет с частным классом QTcpSocket в файле заголовок, а не объявлять его в качестве локального класса, для того, чтобы использовать QTcpSocket-> читать ReadReady(), я получил ошибку. Как могут возникнуть эти проблемы?
void Server::respondNewConnection()
{
clientConnection = tcpServer->nextPendingConnection();
connect(clientConnection, &QAbstractSocket::disconnected,
clientConnection, &QObject::deleteLater);
connect(clientConnection, SIGNAL(readyRead()), this, SLOT(ReadyRead()));
clientConnection->write("[server]Welcome to server...", 100);
qDebug() << "02[server]Welcome to server..."<<endl;
statusLabel->setText(tr("test!"));
}
void Server::ReadyRead(){
qDebug() << "04[server]Ready to Read..." << endl;
/*
char buffer[100];
const int buffer_size = 100;
tcpSocket->read(buffer, buffer_size);
qDebug() << "05[server]Message from client: " << buffer << endl;
*/
}
«Я получил ошибки» - какие ошибки.? –
@FrankOsterfeld они показаны в не очень-так называемом 'введите описание изображения здесь ': o –