void TcpThread::receiveData() //接收文件 { try { QDataStream in(tcpServerConnection); in.setVersion(QDataStream::Qt_4_7); if(bytesReceived <= sizeof(qint64)*2) { if((tcpServerConnection->bytesAvailable() >= sizeof(qint64) * 2) && (fileNameSize == 0)) { in>>TotalBytes>>fileNameSize; bytesReceived += sizeof(qint64)*2; } if((tcpServerConnection->bytesAvailable() >= fileNameSize) && (fileName == 0)) { in>>fileName; dataProcess(fileName); } else { tcpServerConnection->disconnect(); tcpServerConnection->deleteLater(); emit disconnectedSignal(socketDescriptor); quit(); } }
void SampleListener::onDisconnect(const Controller& controller) { // Note: not dispatched when running in a debugger. std::cout << "Disconnected" << std::endl; Q_EMIT disconnectedSignal(); }
void TcpThread::connectError() { if(blFileOpen) { localFile->close(); localFile->remove(m_filePath + sFileName); localFile->deleteLater(); } qDebug()<<"connectError"; tcpServerConnection->deleteLater(); emit disconnectedSignal(socketDescriptor); terminate(); //wait(); //sleep(1); //quit(); }