AW: Python-Client

Dierk Höppner D.Hoeppner at tu-bs.de
Mi Jun 9 08:04:07 CEST 1999


> Das ist m.E. so nicht ganz richtig:
> while 1:
> 	answer = answer + cl.recv(1024)
> 	if answer[-11:] == "AVANTI:EOR\n":
> 		break
> Hier ist der Trick ein sogenanntes Slicing, vom gesamten String werden
> immer die letzten 11 Zeichen genommen, und selbst wenn cl.recv()
> zunaechst die end-of-request-Meldung teilen wuerde, kaemme mit dem
> naechsten recv der Rest ans Ende und dann nichts mehr und die Routine
> waere erfuellt. Von daher sollte das Verfahren sicher sein.

Habe ich auch gedacht. Von der Logik her sollte es auch klappen, 
aber ich hatte mal Schwierigkeiten bei SEHR großen Ergebnissen 
bekommen, wo diese Schleife sehr oft durchlaufen werden muß. 
Letztendlich bin ich zu der Überzeugung gekommen, daß es bei der 
Speicherverwaltung in der Zeile 

answer = answer + cl.recv(1024)

innerhalb von Python geknallt haben muß. Deshalb in meiner neuen 
Version die umständliche und sicherlich auch langsame Konstruktion 
:-((

Viele Grüße

Dierk Höppner

Universitaetsbibliothek
Pockelsstr. 13
D-38106 Braunschweig
Germany
Tel: +49-531-391-5066 Fax: -5836
E-Mail: d.hoeppner at tu-bs.de     




Mehr Informationen über die Mailingliste Allegro