====== Einfaches Chat-Programm - Server und Client ====== :!: Dieses Beispiel habe ich dem Artikel **Create a Basic LAN Chat Room with Python3** ([[https://python.plainenglish.io/create-a-basic-lan-chat-room-with-python-f334776bf70c]]) entnommen. Server: #server.py import socket import threading my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) PORT = 8000 ADDRESS = "0.0.0.0" broadcast_list = [] my_socket.bind((ADDRESS, PORT)) def accept_loop(): while True: my_socket.listen() client, client_address = my_socket.accept() broadcast_list.append(client) start_listenning_thread(client) def start_listenning_thread(client): client_thread = threading.Thread( target=listen_thread, args=(client,) #the list of argument for the function ) client_thread.start() def listen_thread(client): while True: message = client.recv(1024).decode() if message: print(f"Received message : {message}") broadcast(message) else: print(f"client has been disconnected : {client}") return def broadcast(message): for client in broadcast_list: try: client.send(message.encode()) except: broadcast_list.remove(client) print(f"Client removed : {client}") accept_loop() Client: #client.py import socket import threading nickname = input("Choose your nickname : ").strip() while not nickname: nickname = input("Your nickname should not be empty : ").strip() my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = "0.0.0.0" # "127.0.1.1" port = 8000 my_socket.connect((host, port)) def thread_sending(): while True: message_to_send = input() if message_to_send: message_with_nickname = nickname + " : " + message_to_send my_socket.send(message_with_nickname.encode()) def thread_receiving(): while True: message = my_socket.recv(1024).decode() print(message) thread_send = threading.Thread(target=thread_sending) thread_receive = threading.Thread(target=thread_receiving) thread_send.start() thread_receive.start() ---- Stand: 06.12.2021\\ --- //[[feedback.jk-wiki@kreick.de|: Jürgen Kreick]]// EOF