Bonjour à tous!
Je viens de démarrer un projet concernant la création d'une interface graphique pour commniquer avec une machine.
Cette communication est réalisé via un protocole RS232
Pour vérifier que la machine est bien connectée à l'ordinateur je luis envoi un ping toutes les secondes avec la fonction gobject.timeout_add
Le seul hic c'est que je suis obligé de mettre un return True dans une condition car si je le met tout le temps, lorsque la machine est déconnectée ça ne marche pas: ça n'affiche pas que le machine est déconnecté et ça freeze!!!
Alors qu'avec le code écrit comme ci dessous ça me détecte la déconnexion et ça ne plante pas...
Code:
Cependant ça ne détecte pas la reconnexion car mping a du retourner false lors de la déconnexion du coup gobject.timeout_add ne relance pu mping toutes les secondes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 def mping(self): ret=self.serial.send("?") link = ret if(link!=""): buff="Connecte" else buff="Deconnecte" self.connection_label.set_text(buff) self.connection_label.show() if(buff=="Connecte"): return True . . autres def . puis dans mon def __init__: self.connection_label =gtk.Label("") self.table.attach(self.connection_label, 3, 4, 6, 7) # c'est placé dans un tableau self.connection_label.show() self.source_id = gobject.timeout_add(1000, self.mping)
Alors quelqu'un saurait -il comment on peut continuer a pinger toutes les secondes durant que la machine est déconnecté sans que ça plante?
D'avance Merci
Partager