Soyez le premier à donner votre avis sur cette source.
Snippet vu 6 703 fois - Téléchargée 18 fois
import socket, threading # [2] ~~ FONCTION EN BOUCLE ATTENTE DES CLIENTS ################################################ def AttenteClient(): global Sck, conn, addr i = 0 while 1: conn.append(i) addr.append(i) conn[i], addr[i] = Sck.accept() print " >> Nouvelle Connexion : " + addr[i][0] conn[i].send("Hello Moto !\r\n") # Appel d'un nouveau thread pour gerer ce client th = threading.Thread(target=GestionConnexion, args=str(i)) th.start() i = i + 1 # [3] ~~ GESTION DE LA CONNEXION DU CLIENT ######################################################### def GestionConnexion(i): global Sck, conn, addr donnees = '' while 1: recu = conn[int(i)].recv(1024).decode("latin9") if not recu: break if recu[len(recu) - 1] != '\n': donnees = donnees + recu elif donnees != "": print " >> " + addr[int(i)][0] + " : " + donnees # Envoi du message a tous le monde : for a in range(len(conn) - 1): conn[a].send(" >> " + addr[int(i)][0] + " : " + donnees + "\r\n") donnees = '' else:donnees = '' # Fin de boucle, le thread s'arrete et le client et deco: print " >> " + addr[int(i)][0] + " est deconnect." # [1] ~~ CREATION DU SOCKET ######################################################### Host = "127.0.0.1" Port = 56 # Tableaux qui regrouperont les connexions : conn = [] addr = [] # On cree le socket et on le met en ecoute, puis appel en boucle de la fonction # qui acceptera les connexions en incrementant la liste Sck = socket.socket(socket.AF_INET, socket.SOCK_STREAM) Sck.bind((Host, Port)) Sck.listen(1) AttenteClient()
13 févr. 2017 à 18:24
21 oct. 2011 à 12:11
doc ici : http://docs.python.org/library/socketserver.html
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.