also ich lade mit meinem Programm eine Datei von einem FTP-Server herunter. In einem thread werden die Sekunden gezählt. Wie krieg ich es hin, dass nach ca 60 sekunden die Verbindung zum FTP betrennt wird?
Ps.: es handelt sich hier nicht um ein 'normales' timeout, da eine Verbindung zum FTP besteht und die Datei heruntergeladen wird. Es soll nur eben, falls dies zu langsam gescheht die Verbindung getrennt werden, damit man nicht ewig sitzt. der Download erfolgt in einer Schleife, dem entsprechend müsste danach die Schleife mit dem nächsten Server durchlaufen.
Code: Alles auswählen
def checkupspeed(pubs):
global active, trys
upfile = open('512kb.upl', 'w')
upfile.write('1'*524288)
upfile.close()
for i in range(len(pubs)):
active = 1
try:
ftp = FTP()
ftp.connect(host=pubs[i], port=21)
ftp.sock.settimeout(30)
ftp.login('anonymous', 'abc@gmx.net')
fp = open('512kb.upl', 'r')
thread.start_new_thread(counttrys,())
ftp.storbinary('STOR ' + '512kb.upl', fp)
fp.close()
ftp.close()
upspeeds[pubs[i]] = 512/trys
except:
ftp.close()
active = 0
sleep(2)
Code: Alles auswählen
def counttrys():
global active, trys
trys = 0
while active == 1:
trys = trys + 1
sleep(1)