bonjour a tous,
Je suis en train de galerer a creer une appli client/serveur (un classique me direz vous. sauf que la je dois integrer une interface graphique avec tkinter.

Mon probleme c'est que le mainloop de tkinter me bloque la reception des messages. En effet j'ai un thread de reception comme ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class reception_c(th.Thread):
    def __init__(self,conn):
        th.Thread.__init__(self)
        self.connexion = conn
        condition = th.Condition()

        while 1:
                message = self.connexion.recv(255)
                print message

                if not message:
                    pass
                    print "detection de deconnection du serveur\n"
                    break
et cest donc la ligne avec le recv qui me bloque car lui me bloque l'ensemble du programme.

quand je met
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
thread_ecoute=reception_c(self.connexion)
        fenetre.mainloop()
c'est l'interface graphique qui ne demarre pas et quand j'inverse, l'interface graphique demarremais pas l'ecoute, je n'y comprend rien.

J'ai recherché du coté de la socket blockante ou bien du cote des files d'attente de thread mais je n'arrive pas a les mettre en place.

voilou, si quelqu'un voit pourquoi çà bloque

merci d'avance