Partage
  • Partager sur Facebook
  • Partager sur Twitter

Chat client/serveur

    20 mars 2015 à 13:47:26

    Bonjour,

    J'ai un fais un programme client serveur où plusieurs personnes d'un même réseau peuvent communiquer ensemble. On peut de plus envoyer plusieurs messages en meme temps à une personne sans qu'elle nous réponde.

    Le probème est que si l'utilisateur alpha communique avec l'utilisateur beta, alors la conversation ressemble à :

    beta : coucouu
    alpha > coucou
    beta : ca va ?
    beta : quoi de neuf ?
    alpha > bien et toi ? 

    mais lors de la communication, dans la fenetre de l'ordinateur de l'utilisateur alpha, il y a un genre de prompt : 

    alpha >

    pour l'inviter à saisir du texte. Mais si l'utilisateur beta envoie une message pendant que l'utilisateur alpha écrit, la conversation de tout à l'heure devient :

    beta : coucouu
    alpha > coucou
    beta : ca va ? 
    alpha > bien ebeta : quoi de neuf ?
    t toi ? 

    Donc les lignes s'érasent. Alors comment palier à ce problème (je voudrais que la ligne du prompt ne soient jamais écraser par une autre ligne et qu'elles s'affichent toutes en dessous, ou alors utiliser les 5 dernières lignes de l'écran pour écrire du texte avent de l'envoyer...). Mais je ne vois pas comment faire. Jusqu'à présent j'utilise la fonction input() pour récupérer la saisie de l'utilisateur.

    -
    Edité par sdzfermat 20 mars 2015 à 13:48:36

    • Partager sur Facebook
    • Partager sur Twitter
      20 mars 2015 à 13:58:04

      Je pense qu'il va te falloir te diriger vers quelque chose de plus poussé pour la gestion de ton interface, ncurses par exemple.

      • Partager sur Facebook
      • Partager sur Twitter
        20 mars 2015 à 16:32:36

        J'y avais pensé aussi, mais je n'ai pas trouvé beaucoup de tuto à ce propos sur le net...
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          20 mars 2015 à 16:36:07

          tu dois utiliser des thread pour obtenir le resultat que tu nous presentes la nan ?

          si oui, met un time.wait(0.001) pour 'bloquer' ton thread le temps que le message s'affiche (celui d'alpha par exemple) ;)

          edit : je sais plus ecrire ouinnnn ... j'ai mis mais au lieu de met

          -
          Edité par Anonyme 21 mars 2015 à 16:12:04

          • Partager sur Facebook
          • Partager sur Twitter
            20 mars 2015 à 23:19:00

            Par la force des choses il faudra que l'interface s' exécute dans un thread différent de l'interface réseau.

            Par contre je rejoins ce que dis entwanne.

            J'ajouterai qu'il n'y a pas besoin de tuto pour utiliser curses. Plonge-toi dans la doc, expérimente, et en une après midi tu sauras tout ce qu'il y a à savoir sur curses.

            • Partager sur Facebook
            • Partager sur Twitter
            Zeste de Savoir, le site qui en a dans le citron !

            Chat client/serveur

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown