Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > GUI
GUI Forum d'entraide sur les bibliothèques pour interfaces graphiques en Python
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 30/05/2010, 22h45   #1
Mondhir01
Invité de passage
 
Mondhir Mondhir
Inscription : mars 2010
Messages : 1
Détails du profil
Informations personnelles :
Nom : Mondhir Mondhir

Informations forums :
Inscription : mars 2010
Messages : 1
Points : 0
Points : 0
Par défaut problème de changement de valeur d'une variable

bonjour


j'utilise pyqt

j'ai deux stations connectées avec le mode udp ave QtNetwork et Qudpsocket


station 1:

----------------------------------
class communication()

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# création de socket
    self.udpSocket = QtNetwork.QUdpSocket(self)
    self.udpSocket.bind(45454)
    self.udpSocket.readyRead.connect(self.processPendingDatagrams)
    self.nbr_messages=0 
 
    def processPendingDatagrams(self):
 
        while self.udpSocket.hasPendingDatagrams():
 
            datagram, host, port = self.udpSocket.readDatagram(self.udpSocket.pendingDatagramSize())
 
            try:
                # Python v3.
                datagram = str(datagram, encoding='ascii')
 
            except TypeError:
                # Python v2.
                datagram = str(datagram, encoding='ascii')
                pass        
 
            self.nbr_messages+=1
            print "nombre de message = ",self.nbr_messages
 
cmt=communication()
-------------------------------

le station 2 envoie des messages

lors l'éxécution dans la station 1:

nombre de message = 1
nombre de message = 2
nombre de message = 3
nombre de message = 4
nombre de message = 5

l'éxécution est normale.

----------------------------

le problème est le suivant:
j'ai ajouté la boocle suivant dant la station 1:
--------------------
Code :
1
2
3
4
while cmt.nbr_message==0:
    print "nombre  de message = ",cmt.nbr_message
 
print "nombre  de message = ",cmt.nbr_message
--------------------
l'éxécution est comme suite :

nombre de message = 0
nombre de message = 0
nombre de message = 0
nombre de message = 0
nombre de message = 0
.....
.....


le variable cmt.nbr_message n'est pas incrémenté !!!!

malgré la station 2 envoie des messages


et aussi je synchronisé l'accer au variable cmt.nbr_message par lock de module thrad (aquire et relaise)
dans la boucle while et dans processPendingDatagrams mais aussi le même problème



merçi
Mondhir01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h57.


 
 
 
 
Partenaires

Hébergement Web