def __init__(self): self.username = "******" + str(random.randint(100, 99999)) self.adress = util.show_ip() self._run = True # By default the server points to localhost self.server = socket.gethostname() self.server_port = 6000 self.server_socket = socket.socket() self.server_socket.settimeout(0.5) # UDP connection self.udp_socket = socket.socket(type=socket.SOCK_DGRAM) self.udp_socket.settimeout(0.5) self.udp_remote = None # use random port self.udp_port = random.randint(0, 65535) # Try to bind to a specific port, handle if port is already in use try: self.udp_socket.bind((self.adress, self.udp_port)) except socket.error as e: if e.errno == 98: print(Fore.YELLOW + "Port is already in use") sys.exit(1)
def run(self): print(Fore.BLUE + "Listening on " + util.show_ip() + ":%i" % 6000) self.socket.listen(0) while True: client, ipaddress = self.socket.accept() try: self._handle(client, ipaddress[0]) client.shutdown(1) client.close() except OSError: print(Fore.RED + "Erreur traitement requête client")