voici le code:
Code:
def chat(self):
rep = self.chates.text()
self.envoies.append("Donnees Envoyees>"+rep)
self.chates.clear()
return rep
def conec(self):
HOST = self.adripes.text()
PORT = int(self.nipes.text())
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
mySocket.bind((HOST, PORT))
except socket.error:
self.envoies.setText("La liaison du socket a l'adresse
choisie a echoue.")
sys.exit()
while 1:
self.envoies.append("Serveur pret en attente de
requetes .")
mySocket.listen(5)
connexion, adresse = mySocket.accept()
c= time.strftime('%A %c')
client= "Connexion au port" + str(adresse[1]) + " a " + c
self.envoies.append(client)
donneesRecues = connexion.recv(8192)
t=time.strftime("%H:%M:%S")
self.envoies.append(" Donnees Recues " +t+ " > "+
donneesRecues)
rep = self.chat()
connexion.send(rep)
Quand j'ai cherché sur internet j'ai trouvé qu'il existe des Qthread
mais j'ai pas su ni comment les utilisées ni à quoi servent.
Merci
Effectivement tu as une bouble infinie (while 1) dans ton code donc Qt
ne peut pas reprendre la main pour traiter les événements utilisateurs
(entrées au clavier, clics de souris).
Il existe deux approches pour répondre à ce problème. Comme tu l'as
trouvé toi-même, une de ces approches consiste à éxécuter les taches
bloquante dans un thread séparé. Qt contient une API complète pour
manipuler les threads mais Python également. Continue a te documenter tu
es sur la bonne voie :-)