import socket import threading HEADER = 64 PORT = 5050 SERVER = socket.gethostbyname(socket.gethostname()) ADDR = (SERVER, PORT) FORMAT = 'utf-8' DISCONNECT_MESSAGE = '!DISCONNECT' server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind(ADDR) def handleClient(conn, addr): print(f'[NEW CONNECTION] - {addr} connected.') connected = True while connected: msg_length = conn.recv(HEADER).decode(FORMAT) if msg_length: msg_length = int(msg_length) msg = conn.recv(msg_length).decode(FORMAT) if msg == DISCONNECT_MESSAGE: break print(f'[{addr}] - {msg}') conn.close() def start(): server.listen() print(f'[LISTENING] - Server is listening on {SERVER}') while True: conn, addr = server.accept() thread = threading.Thread(target=handleClient, args=(conn, addr)) thread.start() thread2 = threading.Thread(target=quit) thread2.start() print(f'[ACTIVE CONNECTIONS] - {threading.activeCount() - 1}') print('[Starting] - Server Starting...') start()