class ThreadClient(threading.Thread):
'''derivation d'un objet thread pour gerer la connexion avec un client'''
def __init__(self, conn):
threading.Thread.__init__(self)
self.connexion = conn
def run(self):
# Dialogue avec le client :
nom = self.getName() # Chaque thread possede un nom
while 1:
msgClient = self.connexion.recv(1024)
if msgClient.upper() == "FIN" or msgClient =="":
break
message = "%s> %s" % (nom, msgClient)
print message
# Faire suivre le message a tous les autres clients :
for cle in conn_client:
if cle != nom: # ne pas le renvoyer a l'emetteur
conn_client[cle].send(message)
# Fermeture de la connexion :
self.connexion.close() # couper la connexion cote serveur
del conn_client[nom] # supprimer son entree dans le dictionnaire
print "Client %s deconnecte." % nom
# Le thread se termine ici
Partager