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.
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.
× 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.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique