# -*-coding:Latin-1 -* """Serveur de chat vocal""" import socket import time #initialisation des variables HOST = '' PORT = 6660 serveur_lance = False connectes = [] debug = False #creation d'une entree serveur UDP try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.bind((HOST, PORT)) print("Le serveur udp ecoute a present sur le port {}".format(PORT)) serveur_lance = True except 10048: print("une instance du serveur est deja en cours") except: print("echec de lancement du serveur") #boucle reception/emission while serveur_lance: try: #on recoit les donnees envoyees data, adresse = s.recvfrom(1024) if not adresse in connectes: connectes.append(adresse) print("Nouveau client connecte: {})".format(adresse)) s.sendto("Vous êtes connecte :)" , adresse) else: try: for dest in connectes: #if dest != adresse: #print("{}\n".format(len(data))) s.sendto(data , dest) except RuntimeError: #pour gérer le changement de taille du dictionnaire 'connectes' #lors de l'arrivee ou du depart d'un client connectes = [] print("Reinitialisation de la liste des connectes") except KeyboardInterrupt: serveur_lance = False #fermeture du serveur print("fermeture du serveur") s.close()