chat-server_konsole.py
Chat-Server, der leicht zum Multiplayer-Server umgebaut werden kann.
Ein Client sendet seine Daten (pos?) an den Server; dieser registriert ob Client schon in Liste Clients enthalten ist und packt ihn dazu. Dann iteriert der Server über alle Clients und sendet Ihnen (außer dem aufrufenden Client) die Daten.
chat-server_konsole.py — text/python-source, 1 KB
Dateiinhalt
# -*- coding: utf-8 -*- import socket # Port: am besten jenseits 1024 PORT = 8000 # Server aufbauen: schnelle Datagramme service = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) service.bind(("", PORT)) clients=[] print "Lausche auf Port", PORT while True: # workaholic all the time ... data, client = service.recvfrom(100) # empfange Client-Botschaft if client not in clients: # falls client neu ... clients.append(client) # Neukundenregistrierung service.sendto("Es sind außer Dir %s Leute im Chat"%(len(clients)-1),client) print "Verbindung von", client, "schreibt:", data for recievers in clients: # Durchlaufe die client-Liste... if recievers != client: # und sende Nachricht an service.sendto(data, recievers) # alle anderen Chat-Teilnehmer