import socket import threading # Server-Informationen HOST = '127.0.0.1' PORT = 12345 nickname = "michi" def receive_message(sock): """ Funktion für das Empfangen von Nachrichten """ while True: try: # Empfange die Nachricht des Servers msg = sock.recv(1024).decode('utf-8') if not msg: break print(f"\r>>{msg}\n", end='', flush=True) except: # Schließe die Verbindung, wenn ein Fehler auftritt print("Verbindung getrennt.") break def start_client(): """ Funktion für das Starten des Clients """ # Erstelle den Client-Socket und verbinde ihn mit dem Server client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect((HOST, PORT)) # Starte einen Thread für das Empfangen von Nachrichten threading.Thread(target=receive_message, args=(client,)).start() client.sendall(nickname.encode('utf-8')) try: while True: # Lese die Eingabe des Benutzers und sende sie an den Server msg = input(">> ") if msg.lower() == "exit": break client.sendall(msg.encode('utf-8')) except KeyboardInterrupt: pass finally: # Schließe den Client-Socket client.close() if __name__ == '__main__': start_client()