Originariamente inviato da billiejoex
Mi continua a sfuggire il contesto. Fammi capire: sei tu che "a mano" apri un terminale telnet, digiti i comandi, ne apri un altro, ti connetti, ecc...?


Upload, quindi. Ok.


Parlando "a bassi livelli" tecnicamente ti basta chiudere il socket del canale dati (aka chiudere la connessione).
Parlando "a livelli beceri", in pratica, basta anche che chiudi brutalmente il terminale che usi per il canale dati.


No, gli unici caratteri ASCII con cui puoi avere a che fare, nel protocollo FTP, riguardano il canale comandi, non quello dati. Anche se questo tecnicamente non è del tutto vero non è cmq il tuo caso.
Dopo aver mandato il comando "STOR" non dovrai mandare nessuno comando, sul canale comandi, che segnali al server la fine del trasferimento.
Come ripeto, tale stato lo notifichi unicamente chiudendo il canale dati.
Convengo che un comportamento più sensato, per il protocollo, sarebbe quello di appoggiarsi ad un comando specifico, ma questo è FTP. Il suo design è di quanto più scandaloso ci possa essere... per non parlare, poi, della qualità dell'RFC... Da suicidio...
Rispondo....

Mi continua a sfuggire il contesto. Fammi capire: sei tu che "a mano" apri un terminale telnet, digiti i comandi, ne apri un altro, ti connetti, ecc...?

Per provare la sequenza faccio a mano con telnet, ma poi implemento nel sistema automatico, come detto gestito da un microcontrollore ....

Parlando "a bassi livelli" tecnicamente ti basta chiudere il socket del canale dati (aka chiudere la connessione).

Chiudere la sessione dati, questo e' il problema. Si chiude da sessione dati o comandi? e come se non avessi, con il sistema automatico, la possibilita' di chiudere il terminale con sistema "becero"
Se provi con telenet aprendo le due sessioni capisci il mio problema...
inviati i dati sul socket dati, come fare per chiuderlo mediante un comando che deve pur esserci? Bisognerebbe vedere come fanno i programmi di trasferimento ftp :rollo: ma non sono riuscito...
Grazie