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