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

Python Discussion :

Chat en Python (threads, sockets)


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Auditeur informatique
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Chat en Python (threads, sockets)
    Bonjour! J'essaye de faire un chat en Python. Oui, je sais qu'il y a un dossier très détaillé à ce sujet sur ce site, je l'ai découvert après avoir commencé mon projet, je m'en suis un peu inspiré.
    Mes scripts serveur/client marchent presque, j'ai juste encore un soucis, je vais essayer d'être précis:
    Je lance le serveur, tout va bien. Je lance le client, tout est ok, le serveur me dit que le client est connecté, les threads de Send et Receive s'initialisent. Je peux envoyer des messages dans les deux sens, les recevoir dans les deux sens, mais le processus est chaotique: Il faut envoyer un message pour que les messages recus entre temps s'affichent...si par exemple j'envoie 10 messages depuis le serveur vers le client, le client ne verras rien. Puis si le client envoie un message, le serveur ne le verra pas, mais le client verra les 10 messages envoyés par le serveur d'un coup, tous accumulés....et ainsi de suite.
    Veuillez trouver en dessous les sources du serveur et du client. Merci.

    PS: Ne faites pas attention aux imports, j'ai enlevé une partie du chat qui n'a rien a voir pour plus de clarté.
    PS: n00b ye i know

    Serveur: http://pastebin.com/TsZebAiz
    Client: http://pastebin.com/r9cHqF3M

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Essaye éventuellement en rajoutant flush
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                else:
                    print("\nPartner:"+msgr+"\n")
                    sys.stdout.flush()
    dans les deux codes.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Auditeur informatique
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci de ta réponse, j'ai essayer d'ajouter un flush, mais ça n'a rien changé..j'en avais un dans une première révision du code que j'ai enlevé par la suite car ça ne changait rien, je vais le laisser maintenant, au cas ou...

Discussions similaires

  1. threads en chat sur Python
    Par mcherkao88 dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 17/01/2010, 18h22
  2. Librairie OO et portable pour RegExp, Thread, Sockets, etc..
    Par Swoög dans le forum Bibliothèques
    Réponses: 29
    Dernier message: 27/05/2006, 12h29
  3. Chat basé sur des sockets php5
    Par javhost dans le forum Développement
    Réponses: 1
    Dernier message: 12/07/2005, 16h21
  4. thread, socket, Accept, Receive
    Par lacousine dans le forum MFC
    Réponses: 4
    Dernier message: 20/04/2005, 00h49
  5. [Thread][socket]Problème de fermeture d'un thread
    Par meda dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 04/11/2004, 01h03

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