Skip to content
Snippets Groups Projects
Commit 27791319 authored by Robin Leber's avatar Robin Leber
Browse files

Add server file

parent 1ab44099
No related branches found
No related tags found
No related merge requests found
import socket
import threading
def handle_client(client_socket, client_address):
while True:
try:
# Empfange Nachricht vom Client
data = client_socket.recv(1024)
if not data:
break
# Sende die empfangene Nachricht an alle anderen Clients
broadcast(data, client_socket, client_address)
except:
break
# Client-Socket schließen
client_socket.close()
def broadcast(message, sender_socket, sender_address):
for client in clients:
try:
# Sende die Nachricht an alle Clients, außer an den Absender
if client != sender_socket:
client.send(f"{sender_address}: {message}".encode('utf-8'))
except:
# Entferne defekte Verbindungen
clients.remove(client)
# Server-Konfiguration
host = '127.0.0.1'
port = 5555
# Socket erstellen und binden
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((host, port))
server_socket.listen(5)
print(f'Server lauscht auf {host}:{port}')
# Liste für die verbundenen Clients
clients = []
while True:
# Warten auf eine Verbindung
client_socket, client_address = server_socket.accept()
# Neuen Thread für jeden verbundenen Client erstellen
client_thread = threading.Thread(target=handle_client, args=(client_socket, client_address))
client_thread.start()
# Client-Socket zur Liste hinzufügen
clients.append(client_socket)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment