Bonjour, j'ai une application qui utilise des sockets pour communiquer. demandeIdentification() répond au signal newConnexion() pour identifier le client, si je peux l'identifier, j'utilise le socket mTcpSocketFichier pour réceptionner le fichier du client, mais j'ai l'erreur QObject::connect: Cannot connect (null)::readyRead() to Serveur::recevoirFichier()
Pourquoi ? Et comment régler ce problème ?
Merci de votre aideCode:void Serveur::demandeIdentification() { QFile fileId("identifications.txt"); mSocketIdentification = mTcpServeurFichier->nextPendingConnection(); if(connect(mSocketIdentification, SIGNAL(readyRead()), this, SLOT(newIdentification()))) { if(fileId.open(QIODevice::ReadOnly | QIODevice::Text)) { QDataStream flux(&fileId); while(!flux.atEnd()) { mListeIdentications.append(fileId.readLine().trimmed()); qDebug() << mListeIdentications.last(); } fileId.close(); } else { qDebug() << "impossible d'ouvrir le fichier des identifications"; } } } void Serveur::newIdentification() { if(mIdentification == "") { if(mSocketIdentification->bytesAvailable() < (int) sizeof(quint8)) return; mIdentification = mSocketIdentification->readLine().trimmed(); qDebug() << "mSocketIdentification" << QString(mIdentification); } if(!mIdentification.isEmpty() && !mIsIdentified) { for(int i = 0; i < mListeIdentications.length(); i++) { if(mIdentification == mListeIdentications.at(i)) { mIsIdentified = true; mSocketIdentification->close(); mTcpSocketFichier = mTcpServeurFichier->nextPendingConnection(); if(connect(mTcpSocketFichier, SIGNAL(readyRead()), this, SLOT(recevoirFichier())) && connect(mTcpSocketFichier, SIGNAL(readChannelFinished()), this, SLOT(finReceptionFichier()))) { qDebug() << "readyRead, readChannelFinished pret"; } qDebug() << "identification ok"; break; } } } }
-----