ฉันมีปัญหากับ QTcpSocket มันไม่ส่งสัญญาณใดๆ :/
void NetworkInstance::run()
{
m_pSocket = new QTcpSocket();
connect(m_pSocket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(socketError()));
connect(m_pSocket, SIGNAL(hostFound()), this, SLOT(socketHostLookupDone()));
connect(m_pSocket, SIGNAL(connected()), this, SLOT(socketConnected()));
connect(m_pSocket, SIGNAL(disconnected()), this, SLOT(socketDisconnected()));
connect(m_pSocket, SIGNAL(readyRead()), this, SLOT(socketReadyRead()));
QSettings s;
s.beginGroup("network");
emit log(QString("Connection to: ").append(s.value("host").toString()).append(":").append(s.value("port").toString()));
m_pSocket->connectToHost(s.value("host").toString(), s.value("port").toInt());
s.endGroup();
exec();
}
นี่คือรหัสของฉัน ฉันไม่เห็นข้อผิดพลาดใดๆ แต่ไม่มีสัญญาณที่เชื่อมต่ออยู่เลย (hostFound, เชื่อมต่อแล้ว ฯลฯ) บนเซิร์ฟเวอร์ ฉันเห็นว่าการเชื่อมต่อถูกสร้างขึ้นและส่งข้อมูลไปแล้ว แต่ไม่มีอะไรเกิดขึ้นที่ฝั่งไคลเอ็นต์ NetworkInstance กำลังขยาย QThread