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
et cest donc la ligne avec le recv qui me bloque car lui me bloque l'ensemble du programme.
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
quand je met
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 thread_ecoute=reception_c(self.connexion) fenetre.mainloop()
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
Partager