Kopieren übers Internet
Verfasst: Dienstag 27. Juli 2010, 20:02
Hey,
ich möchte gerade gerne mit meinem Script Dateien übers Internet per socket kopieren. Momentan sieht mein code so aus :
und
Das ganze funktioniert soweit, jedoch hab ich ein Problem dem oberen Code klarzumachen, wann der Empfang der Datei vorbei ist.
Ich habe schon versucht indem ich am schluss "closed" schicke, doch dies geht entweder in der vorherigen nachricht unter oder wird an die nächste hingehengt und beim nächste sock.recv() empfangen.
Ich habe auch schon ausrechnen lassen, in wie vielen Paketen es komment müssten, aber es wird zu früh der empfang abgebrochen, weil er anscheinend schon alle Pakete hat. Gibt es einen guten weg ies zu lösen? Die Methode hier hab ich aus der ftp lib geholt, aber hier funktioniert sie nicht.
Timeout will ich nicht nehmen, da ich die Verbindung sosnt wieder extra herstellen muss (oder?)
Jemand eine gute Idee oder weiß wie ich es machen muss?
gruß
ich möchte gerade gerne mit meinem Script Dateien übers Internet per socket kopieren. Momentan sieht mein code so aus :
Code: Alles auswählen
while 1:
buff = sock.recv(buffsize)
if not buff:
break
datei += buff
Code: Alles auswählen
while 1:
buff = fobj.read(buffsize)
if not buff:
break
sock.send(buff)
Ich habe schon versucht indem ich am schluss "closed" schicke, doch dies geht entweder in der vorherigen nachricht unter oder wird an die nächste hingehengt und beim nächste sock.recv() empfangen.
Ich habe auch schon ausrechnen lassen, in wie vielen Paketen es komment müssten, aber es wird zu früh der empfang abgebrochen, weil er anscheinend schon alle Pakete hat. Gibt es einen guten weg ies zu lösen? Die Methode hier hab ich aus der ftp lib geholt, aber hier funktioniert sie nicht.
Timeout will ich nicht nehmen, da ich die Verbindung sosnt wieder extra herstellen muss (oder?)
Jemand eine gute Idee oder weiß wie ich es machen muss?
gruß