Socket aktuelle Bufferlänge auslesen
Verfasst: Donnerstag 29. April 2010, 14:14
Hallo zusammen,
da ich bei der Hilfe leider nix gefunden habe verfasse ich mal einen neuen Thread. Es geht darum. Ich nutze Python in einem 3D Simulator und habe vor mehrere Clients dieses Simulators miteinander kommunizieren zu lassen. Der Server ist eine C# Anwendung, welcher in einem bestimmten Zyklus schaut ob die Clients ihm etwas gesendet haben. Das klappt auch alles wie geplant.
Das Problem bereitet jetzt Python.
Ich brauche jetzt irgendwie die Möglichkeit zu schauen ob etwas auf den Buffer geschrieben wurde. Denn wenn dieser leer ist, will ich erst wieder eine Sekunde warten bevor ich dies wieder überprüfe. Das Problem ist, wenn ich im data = s.recv() drin bin, bleibt der Simulator solang stehen, bis etwas angekommen ist und nach einer Sekunde steht er wieder bis die nächste Nachricht kommt.
Ich hoffe ihr könnt mir helfen, wenn noch unklarheiten sind, versuche ich die irgendwie aus der Welt zu raeumen.
Gruss,
Theo
da ich bei der Hilfe leider nix gefunden habe verfasse ich mal einen neuen Thread. Es geht darum. Ich nutze Python in einem 3D Simulator und habe vor mehrere Clients dieses Simulators miteinander kommunizieren zu lassen. Der Server ist eine C# Anwendung, welcher in einem bestimmten Zyklus schaut ob die Clients ihm etwas gesendet haben. Das klappt auch alles wie geplant.
Das Problem bereitet jetzt Python.
Code: Alles auswählen
import socket
from time import *
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("127.0.0.1", 50000))
try:
while True:
sleep(1)
if s.[buffer.isEmpty()]: continue
data = s.recv(1024)
finally:
s.close()
Ich hoffe ihr könnt mir helfen, wenn noch unklarheiten sind, versuche ich die irgendwie aus der Welt zu raeumen.
Gruss,
Theo