[Python-de] Dateien ueber Sockets uebertragen
Hartmut Goebel
h.goebel at crazy-compilers.com
Mit Mar 31 12:36:27 CEST 2004
Alexander 'boesi' Bösecke wrote:
Das Probelm dürfte da stecken:
> data = sockobj.recv(1024)
Es wird gewartet, bis 1024 Bytes angekommen sind. Wenn keine mehr
kommen, wird halt ewig gewartet. Nachdem Du ja die Filesize kennst,
mache folgendes:
data = sockobj.recv(min(1024, file_size-recvBytes))
(Kann man sicher optimieren.)
Zusätzlich solltest Du einen Timeout einbauen, siehe entsprechende
Rezepte, bzw. bei Python 2.3 socket.setdefaulttimeout()
--
Regards
Hartmut Goebel
| Hartmut Goebel | We build the crazy compilers |
| h.goebel at crazy-compilers.com | Compiler Manufacturer |