Links und Funktionen
Sprachumschaltung

Navigationspfad
Sie sind hier: Startseite / Probestudium / 2012 / WS I: 3D-Programmierung / Skripte / chat-server_konsole.py


Inhaltsbereich

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

Funktionsleiste