gpt4 book ai didi

c++ - QTcpServer如何从客户端socket中读取数据

转载 作者:行者123 更新时间:2023-11-28 05:38:00 26 4
gpt4 key购买 nike

我试图用 C++/Qt 实现一个 tcp 套接字服务器。首先,clientConnection 本地声明确实有效。

QTcpSocket *clientConnection = tcpServer->nextPendingConnection();

但是,当我试图在头文件中用私有(private) QTcpSocket 类声明套接字而不是将其声明为本地类时,为了在 ReadReady() 中使用 QTcpSocket->read,我遇到了错误。怎么会出现这些问题?

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;
*/
}

最佳答案

我认为您可能需要添加前向声明:

class QTcpSocket;

在您出错的文件的顶部。

关于c++ - QTcpServer如何从客户端socket中读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37781023/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com