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

Java Discussion :

Réception de chaine


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 50
    Points : 38
    Points
    38
    Par défaut Réception de chaine
    Bonjour,

    Alors le titre n'est pas tout à fait approprié à la question, je vais vous détailler tout ca.

    Donc le problème : Je communique avec une carte, je lui envoie des commandes, je les reçoit, je les traites. Jusqu’à la aucun soucis. (Je précise que j'ai un bouton par commande)
    Le soucis arrive maintenant : Je dois envoyer une serie de commande à la carte en appuyant sur un bouton, et en plus, fermer le port com, puis le réouvrir avant d'envoyer deux nouvelles commandes.

    Alors, pour ce qui est des commandes individuelles, je possède donc un Thread qui me permet d'enregistrer une réponse de la carte, qui la retransmet ensuite à mon IHM avant de l'afficher dans un jTextArea (la méthode de l'IHM appelée s'appelle "reception" et traite les différentes réponses possibles)

    Donc concrètement mon problème, je dois envoyer par exemple : SY mais aussi MM etc .... à la carte, l'une après l'autre. Je dois donc attendre que la première commande soit effectuée (Recevoir SY@) avant de lancer la suivante (MM) puis recevoir (MM@) ETC...

    Enfin bref, voila en gros le soucis, si quelqu'un à une idée ? Si vous voulez du code, quelle partie ?
    En attendant, je vais y réfléchir, et je vous remercie d'avance pour votre aide.

    Cordialement, MrShanky

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ben, au lieu de transmettre à l'IHM, tu transmets à un objet chargé d'émettre la suite...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Donc si j'ai bien compris, ton problème se résume à un problème de synchronisation de threads?

    A envoie un message
    A attends que B aie traité la réponse
    B reçoit la réponse
    B attends une réponse
    A envoie un deuxième message
    etc...


    Il y a plusieurs manières de le faire et ça dépend de ton code. On peux aller du système le plus simple:
    un sémaphore partagé entre les deux thread, avec A qui dit à B réveille moi quand tu reçois une réponse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    semaphore = new Sempahore(0);
    A: envoi du message
    A: semaphore.aquire()
    B: à la réception du message, semaphore.release(); //Débloque A
    A: envoi du second message
    A: semaphore.aquire();
    B: à la réception du message, semaphore.release(); //Débloque A
    a des systèmes plus évolués utilisant des dequeue pour échanger des infos entre les deux threads, de manière bloquante.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 50
    Points : 38
    Points
    38
    Par défaut
    Merci beaucoup pour ces réponses, J'ai trouvé une solution au problème grâce à vous. Merci


    Cordialement, MrShanky.
    [Résolu] Je reviens en cas de soucis

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide réception et séparation chaine de caractère
    Par juju1988 dans le forum Langage
    Réponses: 14
    Dernier message: 27/12/2011, 14h13
  2. Réponses: 3
    Dernier message: 10/05/2011, 13h55
  3. Problème réception chaine fonction recv()
    Par nostalgius dans le forum Réseau
    Réponses: 9
    Dernier message: 28/05/2010, 17h50
  4. Chaine d'émission et de réception du système WCDMA
    Par torrent208 dans le forum Simulink
    Réponses: 4
    Dernier message: 05/06/2009, 23h13
  5. Réception UDP et test de chaine
    Par molotov dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 28/03/2008, 17h14

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