[Python-de] Re: Dateien ueber Sockets uebertragen

Alexander 'boesi' Bösecke boesi.josi at gmx.net
Don Apr 1 13:22:58 CEST 2004


Hi

Einer der Listen-Admins sollte mal schauen, warum Mails die per CC an
die Liste gehen, nicht von der Liste weitergeleitet werden.
Oder ist das ein individuelles Problem meinerseits, dass ich derartige
Mails nicht bekomme? Oder ist das am Ende Absicht?

Am 31.03.2004 11:55:13 schrieb Alexander 'boesi' Bösecke:

Also dann antworte ich mir ebend nochmal selbst, Selbststudium kann doch
sehr effektiv sein *g*.

Ich hab mal die Kommunikation zwischen Client und Server mit Analyzer 
(ein Sniffer) belauscht.

Der Server verwendet folgenden Code zum Senden:

        self.connection.send('OK')
        self.connection.send(cPickle.dumps(file_size))
        sendBytes = 0
        while 1:
            data = file.read(self.BlockSize)
            if not data: break
            self.connection.send(data)
            sendBytes += len(data)
            print '%d - %d' % (file_size, sendBytes)

Das erste send erzeugt ein eigenes TCP-Packet, so wie's sein soll.
Das TCP-Packet des zweiten send dagegen vermischt mit dem des dritten
send.

Wenn ich nach dem zweiten send ein time.sleep(0.2) einfuege,
funktioniert alles wie gewollt.

Wer funkt hier dem Server dazwischen und packt (wahllos?) Packete
zusammen? Ich kann ja schlecht nach jedem send eine Pause von 200ms
(100ms sind zuwenig) einlegen.
System ist hier WinXP, aber das soll natuerlich alles plattformunabhaengig
funktionieren.

thx & cu boesi
-- 
                                                     #1671 : icq-intern
<THammY-> und meine hände ham bisher immer       #73628288 : icq-extern
nur das gemacht was ich will </THammY>            boesi111 : aim
                                                      i171 : reallife