Quantcast
Channel: Qt DevNet forums: Qt Quick 1283365070**
Viewing all articles
Browse latest Browse all 4972

How to perform tasks sequentially?

$
0
0
Okay. Here is the code for the NetworkModule. #include "NetworkModule.h"   NetworkModule::NetworkModule() {   /* flag permettant de savoir quel message on reçoit */   flag = 0;   stateReady = 0;     socket = new QTcpSocket(this);   socket->connectToHost("127.0.0.1", 64001);     /* Les slots */   connect(socket, SIGNAL(connected()),    this, SLOT(connecte()));   connect(socket, SIGNAL(disconnected()), this, SLOT(deconnecte())); }   void NetworkModule::connecte() {   /* bouton connexion becomes green in the QML view */   connect(socket, SIGNAL(readyRead()),    this, SLOT(donneesRecues())); }   void NetworkModule::deconnecte() {   /* bouton connexion becomes grey in the QML view */     cout<<"Deconnecte au system"<<endl; }   void NetworkModule::donneesRecues() {     /* flag == 0 pour la reception du nom */   if(flag == 0)   {     //cout<<"flag : "<<flag<<endl;     socket->read(name_Cache, sizeof(name_Cache));     //cout<<"name_Cache : "<<name_Cache<<endl;     nom = (QString)name_Cache;     //cout<<"name_Cache : "<<nom.toStdString()<<endl;     flag = 1;   }   /* flag == 1 dans le cadre de la reception de la taille */   else if(flag == 1)   {     //cout<<"flag : "<<flag<<endl;     socket->read(size_CacheC, sizeof(size_CacheC));     size_Cache = atoi(size_CacheC);     //cout<<"size_Cache : "<<size_Cache<<" octets"<<endl;     flag = 2;   }   /* flag == 2 dans le cadre de la reception d'un fichier */   else if(flag == 2)   {         /* Here we download the file */       QFile file(nom);       if(!(file.open(QIODevice::ReadWrite)))       {           exit(0);       }       QByteArray read = socket->read(socket->bytesAvailable());         //cout<<read.size()<<endl;       if(read.size() == (int)size_Cache)       {           cout<<"The file was received"<<endl;           flag = 0;           stateReady = 1;           socket->close();       }         file.write(read);       file.close();   }   return; }   int NetworkModule::getStateReady() {     return stateReady; }

Viewing all articles
Browse latest Browse all 4972

Trending Articles