Vous êtes ici : Accueil / Forums & ML / Forums Python / Forum général Python / Socket : problème de buffer ?

Socket : problème de buffer ?

Remonter à Forum général Python
  • Socket : problème de buffer ?

    Envoyé par shaoling le 1 Juillet 2011 à 15:10
    Bonjour,

    Je suis en train de réaliser un tchat GUI avec la librairie PyQt et les sockets de la librairies standard.
    J'ai un zone de discussion (un QTextEdit) et une liste avec les personnes connectées (un QListWidget).

    Dans mon serveur, lorsqu'une personne se connecte, j'envoie un message dans la zone de discussion ("pseudo" s'est connecté) et un autre message (JOIN pseudo) qui déclenche un SIGNAL du côté client pour mettre à jour la liste des personnes connectées.

    Le problème est donc le suivant :
    - Dans mon serveur, lorsqu'une personne se connecte j'utilise donc 2 fois la méthode send() du socket à la suite, et lorsque je les récupère sur mon client, je n'ai pas 2 messages distincts, mais les 2 messages concaténés dans la même variable... Ce qui n'est pas le but recherché bien sûr.

    Au lieu d'obtenir :
    message = "pseudo" s'est connecté d'une part
    et message = JOIN pseudo d'autre part
    j'ai donc : message = "pseudo" s'est connectéJOIN pseudo

    Sauriez-vous comment éviter cela et recevoir bien 2 messages distincts ?

    Voici le code de mon serveur : http://pastebin.com/PGni4nS3
    Et celui de la fenêtre principale du tchat pour que vous voyez comment je récupère les messages, et comment je les envoie depuis le serveur
    http://pastebin.com/bw0eSeHQ

    Merci d'avance.
Rendu par Ploneboard