Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1405 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [qt] timer dans 2 objets de même classe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[qt] timer dans 2 objets de même classe

n°2136936
djobidjoba
Posté le 16-04-2012 à 17:27:36  profilanswer
 

Bonjour,
je suis un noob++ :D
j'ai codé un client/serveur tcp en QT qui s'est avéré ne pas fonctionner avec de multiples clients.
j'ai donc modifié le code qui se déroule comme ceci côté serveur

 

chaque acceptConnection() sur le QTcpServer lance un nouvel objet de type ClientToto qui permet de gérer chaque client indépendamment

Code :
  1. void Server::acceptConnection()
  2. {
  3. QTcpSocket *client_tcp = server.nextPendingConnection();
  4. int idsock=client_tcp->socketDescriptor();
  5. ClientToto clienttoto( client_tcp );
  6. clienttoto.start();
  7. client_tcp->waitForDisconnected(60000);
  8. client_tcp->close();
  9. qDebug()<<idsock<<" terminé";
  10. }
 

A priori, les transfert de données ont l'air de fonctionner sauf un truc:
dans ma classe ClientToto j'ai mis un timer afin de tester la déconnection.

 

Dans une des fct de ClientToto on a :

 
Code :
  1. QEventLoop pause;
  2. QTimer timer;
  3. timer.setInterval(5000);
  4. timer.setSingleShot(true);
  5. connect(&timer, SIGNAL(timeout()), &pause, SLOT(quit())); /* ou d'un timeout */
  6. timer.start();
  7. pause.exec();
  8. (code pour déconnecter le socket_tcp en cours)
 

Le problème c'est que lorsque le timer est terminé ce sont tous les clients qui se font déconnecter.
C'est à dire que même si je lance 2 clients avec 2s d'intervalles les 2 vont se faire déco en même temps.
une idée ?


Message édité par djobidjoba le 16-04-2012 à 17:31:24
mood
Publicité
Posté le 16-04-2012 à 17:27:36  profilanswer
 

n°2137035
djobidjoba
Posté le 17-04-2012 à 08:49:43  profilanswer
 

j'ai modifié l'acceptConnection :
- j'enregistre les sockcet client dans une liste (membre de la classe server)
- j'ai enlevé le waitfordisconnect, le close
 
ca change rien :/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [qt] timer dans 2 objets de même classe

 

Sujets relatifs
creation de classe[VB.NET] Utilisation des collections [Résolu]
Excel - Problème de suppression d'onglets si objets présentsPoo avec php, interaction entre objets
gestion basique des étudiants d’une classeLire les propriétés des objets d'un tableau
Timer, chronomètre.problème classe php
timer vb6[Résolu] Sélectionner une classe CSS selon le navigateur ?
Plus de sujets relatifs à : [qt] timer dans 2 objets de même classe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR