IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Gestion des MVC


Sujet :

C++

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2007
    Messages : 180
    Points : 198
    Points
    198
    Par défaut Gestion des MVC
    Bonjour à tous,

    je débute dans les MVC et je me retrouve dans un problème de gestion de thread et MVC.

    Mon appli reçoit des infos du réseau dans une classe de réception gérée par un thread.
    Ma partie graphique doit afficher ses infos, elle est gérée par un autre thread.
    Pour réaliser la communication entre les 2, j'ai mis un signal-slot (QT). Le problème est que je suis obligé d'endormir mon thread de réception pour que la partie graphique affiche le message. Sinon, on sort de la réception et les informations sont perdues.

    Mon problème est que ce fonctionnement ralenti la réception des messages.

    Je voudrais savoir si en implémentant un modèle MVC avec la classe Reception en modèle de ma partie graphique, l'émission du message peut être pris directement en compte, sans perte de temps, ni de données.

    Au final, que le signal-slot soit géré comme un appel de méthode.

    Si vous avez des questions ou suggestions, je suis preneur.

    Merci
    Une légende amérindienne raconte qu'il y eut un immense incendie de forêt. Tous les animaux terrifiés et atterrés observaient, impuissants, le désastre. Seul, un colibri s'activait et allait chercher quelques gouttes d'eau dans son bec pour éteindre le feu.
    Au bout d'un moment, le tatou, agacé par ses agissements dérisoires, lui dit :
    'Colibri ! N'es-tu pas fou ? Tu crois que c'est avec ces gouttes d'eau que tu vas éteindre le feu ?
    'Je le sais, répond le colibri, mais je fais ma part...

  2. #2
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    en général, pour résoudre ce problème, on utilise des files de réception de type FIFO (ou d'émission mais c'est beaucoup plus rare).
    Le principe est le suivant:

    Appelons Tr le transmetteur (dans ton cas, l'application qui gère le réseau), et Rr le récepteur (dans ton cas l'interface graphique), et Msg le message (ou les données) envoyées par Tr à Rr.

    1. Il faut que les données reçues (Msg) par Rr puissent être stockées en mémoire. Autrement dit, créer une structure/classe qui puisse garder les informations reçues. Généralement une simple string suffit, mais il est souvent plus agréable de structurer ces données dans une classe/structure pour les stocker.

    2. A la réception d'un Msg, Rr va le stocker dans une FIFO.

    3. Dans Rr, il faut implémenter un mécanisme qui vérifie de temps en temps s'il y a un Msg dans la FIFO. Ce mécanisme, concrètement, dépend de ton architecture, mais il y a de fortes chances pour qu'il soit nécessaire de créer un thread supplémentaire pour gérer ça.


    Hope it helps.
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

Discussions similaires

  1. Gestion des effets dans MVC
    Par babass77 dans le forum Flex
    Réponses: 2
    Dernier message: 07/05/2009, 11h57
  2. [MVC] gestion des droits/erreurs : vue ou contrôleur ?
    Par Invité2 dans le forum Langage
    Réponses: 8
    Dernier message: 06/12/2008, 16h34
  3. [Spring MVC] Gestion des messages
    Par Llaur76 dans le forum Spring Web
    Réponses: 1
    Dernier message: 22/08/2007, 10h08
  4. Réponses: 1
    Dernier message: 26/07/2007, 16h31
  5. [POO] MVC : Gestion des "pages"
    Par Dinan dans le forum Langage
    Réponses: 4
    Dernier message: 18/02/2007, 19h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo