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

Réseau C Discussion :

Comportement bizarre de l'affichage avant un select


Sujet :

Réseau C

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Points : 19
    Points
    19
    Par défaut Comportement bizarre de l'affichage avant un select
    Bonjour a tous,

    Je rencontre un comportement vraiment bizarre de l'affichage avant un appel a select().

    Voila, dans mon code qui est une application de chat client/serveur avec des sockets en tcp sous unix, je rencotre ce probleme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
        /* pour afficher le menu de l'application */
        afficherMenu();
     
        FD_ZERO(&rdfs);
        FD_SET(STDIN_FILENO, &rdfs);
        FD_SET(maSocket, &rdfs);
     
        if( select( maSocket + 1, &rdfs, NULL, NULL, NULL ) == -1 ) {
            perror("Erreur dans select");
            exit(0);
        }
     
        if(FD_ISSET(STDIN_FILENO, &rdfs) {
            scanf("%d", &choix);
            ........................
        }
    Et ma méthode afficherMenu() est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void afficherMenu() {
        printf("1 - Envoyer un message a un membre\n");
        printf("2 - Envoyer un message a tous les membres\n");
        printf("3 - Se déconnecter\n");
        printf("Choisissez une commande");
    }
    Le fonctionnement est simple, select surveille l'entrée standard, pour capturer des saisies de l'utilisateur et surveille aussi la socket pour recevoir les messages des autres membres.

    Le problème est que dans l'affichage du menu avant select, les 3 commandes s'affichent mais pas la dernière ligne qui demande de choisir une commande, il y a juste le prompteur qui attend une saisie et ca se bloque.

    Donc si jamais quelqu'un a une explication a ca, elle serait la bienvenue et merci d'avance a tous.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 372
    Points : 23 628
    Points
    23 628
    Par défaut
    Citation Envoyé par maximus15 Voir le message
    s'affichent mais pas la dernière ligne qui demande de choisir une commande, il y a juste le prompteur qui attend une saisie et ca se bloque.

    Donc si jamais quelqu'un a une explication a ca, elle serait la bienvenue et merci d'avance a tous.
    Il manque un « \n » dans ton dernier printf(). Du coup, ton texte reste dans ton buffer jusqu'à ce que celui-ci soit plein ou qu'une autre fonction se décide à faire ce retour à la ligne.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Merci Obsidian, t'es vraiment génial, le problème était devant mes yeux et je ne l'avais pas vu. merci encore

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

Discussions similaires

  1. [WB18] Comportement bizarre avec IE9 - affichage page interne
    Par fdelepine dans le forum WebDev
    Réponses: 1
    Dernier message: 23/12/2013, 00h43
  2. Comportement bizarre de php : affichage à la fin ?
    Par fred0655 dans le forum Langage
    Réponses: 12
    Dernier message: 28/01/2009, 14h25
  3. Réponses: 3
    Dernier message: 23/06/2008, 15h08
  4. comportement bizarre d"un SELECT
    Par jam92400 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 15/02/2007, 15h20
  5. select au comportement bizarre
    Par juin29 dans le forum Oracle
    Réponses: 5
    Dernier message: 18/05/2006, 19h24

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