PDA

View Full Version : Connessione ftp interrotta.....


SCATMARC
10-09-2003, 21:51
....è possibile riprenderla?
Per lavoro devo fare quotidianamente una 30 di trasferimenti ftp ad altrettanti server tramite un mio programmino in c: se una connessione si interrompe, è possibile riprendere da dove è stata interrotta? Se sì, come?

P.S.: il client ftp è winXP, i server sono winn2k con un servente ftp freeware chiamato bison.

Grazie a tutti e ciao......

cionci
11-09-2003, 08:11
Se lo fai tramite un tuo programma basta trasferire un file per volta e dare un check a tutti i file già trasferiti... Se ti si interrompe riparti dall'ultimo faile...

O forse vuoi ripartire dalla posizione del file in cui ti sei interrotto ?

SCATMARC
11-09-2003, 13:05
GIUSTO L'ULTIMA CHE HAI DETTO....

infatti trasferisco solitamente service pack per windows e altri pacchetti di programmi compattati in un solo file per risparmiare tempo e istruzioni. l'ordine di grandezza è compreso tra i 50 e i 150Mbyte.

cmq mi hai dato un'idea:
1)compattare il file splittandolo in N file di ridotta dimensione(Es. 10Mbyte) e con nome sequenziale (Es. 100filename.ext....102filename.ext...ecc.),
2) introdurre a programma il nome del file e fare un FOR per testare l'esistenza del file e di tutti gli altri xxxfile dove xxx è un contatore,
3)inserire tutti i nomi nel file di comandi da dare in pasto al servente FTP (ftp -s:nomefile indirizzoIP)
4) in caso di interruzione leggere un log della precedente esecuzione.
OPPURE ESISTE UN METODO PER CONTROLLARE SE ESISTE IL FILE IN REMOTO?

Se esistesse una modalita nativa dell'FTP sarebbe meglio
o anche un'altro protocollo.

cionci
11-09-2003, 14:23
Il protocollo FTP supporta un comando chiamato REST...scarica CuteFTP e vedi come fa quel programma per fare il resume (i camandi inviati li fa vedere finestra in alto) il problema è che non so se il programma FTP di Windows supprota il resume...

cionci
11-09-2003, 14:42
Ad esempio questo è il log di una conenssione FTP in cui interrompo e riprendo un download...

CLIENT: USER xxxx
331 Password required for xxxx.
CLIENT: PASS (hidden)
230 Welcome to xxxxxx.
CLIENT: SYST
215 UNIX Type: L8
CLIENT: REST 100
350 Restarting at 100. Send STORE or RETRIEVE to initiate transfer
CLIENT: REST 0
350 Restarting at 0. Send STORE or RETRIEVE to initiate transfer
CLIENT: PWD
257 "/" is current directory.
CLIENT: TYPE A
200 Type set to A
CLIENT: PASV
227 Entering Passive Mode (x,x,x,x,212,80).
CLIENT: LIST
150 Opening ASCII mode data connection for file list
226 Transfer complete.
List Complete: 322 bytes in 0,83 (0,31 KBps)
CLIENT: TYPE I
200 Type set to I
CLIENT: PASV
227 Entering Passive Mode (x,x,x,x,214,253).
CLIENT: STOR x.xxxl
150 Opening BINARY mode data connection for x.xxx
(soft abort)
CLIENT: ABOR
426 Transfer aborted. Data connection closed.
226 Abort successful
User Aborted
CLIENT: PASV
227 Entering Passive Mode (x,x,x,x,215,249).
CLIENT: REST 46516
350 Restarting at 46516. Send STORE or RETRIEVE to initiate transfer
CLIENT: STOR x.xxx
150 Opening BINARY mode data connection for libeay32.dll
(soft abort)
CLIENT: ABOR
426 Transfer aborted. Data connection closed.
226 Abort successful
User Aborted
CLIENT: QUIT
221 Goodbye.

Il problema è che, come ti avevo detto l'ftp di Windows non supporta questi comandi...

Con quale compilatore programmi in C ? Altrimenti potresti scegliere diverse strade...

SCATMARC
11-09-2003, 19:42
io programmo col visal c++ ma faccio solo consol application semplici per autmatizzare la parte piu noiosa del mio lavoro.

con che server FTP ti sei interfacciato e che client hai usato?

p.s. scappo perche la moglie mi chiama......domani ti posto il resto

intanto grazie.

cionci
12-09-2003, 10:00
Il client è FlashFXP, ma anche CuteFTP te lo fa vedere...
Il server FTP è quello di Lycos...