linux-l: UDP Kommunikation per Python

Carsten Wartmann c.wartmann at gmx.net
Sa Apr 14 15:46:35 CEST 2001


Matthias Kranz writes:
 > On Sun, Apr 08, 2001 at 07:36:23PM +0200, JSC wrote:
 > > On Sun, Apr 08, 2001 at 03:45:44PM +0200, Carsten Wartmann wrote:
 > > > Das ganze ist aber noch etwas ruckelig und die Verbindung von mehr
 > > > als zwei Rechnern wäre IMHO über UDP simpler zu realisieren.
 > > > 
 > > > Leider fand ich kein so feines Beispiel mit UDP. Hat da jemand was
 > > > parat?
 > 
 > Server:
 > 
 > import socket
 > svrsock=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

Danke geht erst mal direkt von Python, nun mal in Blender probieren.

 > svrsock.bind("",8000)

Kleiner Typo: muss sein "svrsock.bind(("",8000))

Nachdem ich nun noch einen ganz dummen Tippfehler in meinem Script
gefunden habe läuft es. Es sieht auch erst mal viel flüssiger aus als
mit TCP. Allerdings gibt es auf langsamen Rechner ein Problem mit
einem immer größer werdenen Lag. Irgendwie muss ich wohl noch eine
Methode finden um die Rechner zu synchronisieren, sodass wenn der eine 
Rechner nicht hinterherkommt "überflüssige" Daten wegwirft. Hmm,
irgendwie mit der aktuellen Simulationszeit taggen?

Es hat ja auch niemand behauptet, das es einfach wäre ;-) Jetzt kann
ich die Netzwerker (speziell Echtzeit, Spiele) noch mehr bewundern.

Windows98 als "Server", d.h. hier wird empfangen und das Objekt nur
positioniert, und SGI IRIX als "Client", hier kann man das Objekt mit
der Tastatur steuern, nein kein Linux, das geht zwar aber ich habe
unter Linux keine 3D Hardwarebeschleunigung was nur eine
Drahtgitterdarstellung bedeutet, macht kein Spaß ;-)

Ich habe auf beiden Rechnern 50FPS, keine Verzögerungen.

Toll! Danke Matthias!

Carsten.



Mehr Informationen über die Mailingliste linux-l