T
tomshack
Guest
qui sotto è il mio compito sulla programmazione socket; chiunque può aiutare me ne ha parlato? please help me ...Il Problema:
"Si può implementare il programma in qualsiasi linguaggio di programmazione".
Il vostro compito per questo compito di programmazione è quello di creare un'applicazione che
comunica attraverso la rete Internet utilizzando i socket interfaccia verso il protocollo TCP / IP
protocollo.Verrà creato un semplice File Transfer Protocol (FTP) client
l'applicazione che si connette a un computer remoto e copia tutti i file
da una directory specificata sul sistema remoto a una directory specificata
sul sistema locale.
Il protocollo FTP specifica come uno dei contatti del client FTP e un server FTP
i messaggi di controllo che vengono scambiati tra client e server.Un
la piena attuazione del protocollo FTP che permettono all'utente di svolgere le seguenti
compiti:
-accesso al server FTP
-stabilire le connessioni per trasferire i file
-download e upload dei file
Per scrivere questo programma sarà necessario prima di familiarizzare con l'FTP
protocollo.Questo protocollo è completamente specificato in RFC 959.Hai solo bisogno
ad attuare le parti del protocollo FTP che sono necessarie per
scaricare tutti i file nella directory specificata dall'utente.Il
sezioni di RFC 959 rilevanti per questo incarico sono specificati in appresso.
-------------------------------------------------- ------------------------------
Il programma è chiamato SFTP (FTP semplificato), e deve accettare la
seguenti argomenti della riga di comando:
Il nome del server FTP remoto (ad esempio, ftp.gnu.org) o il suo indirizzo IP
(ad esempio, 199.232.41.7).Questo argomento è obbligatorio.
La directory sul server FTP remoto da cui potrete trasferire i file
(la directory di origine).Questo argomento è facoltativo, e se non previsti,
sftp dovrebbe di default nella directory di login.
La directory sul sistema locale a cui si trasferirà il file (l'
directory di destinazione).Questo argomento è facoltativo, e se non previsti,
sftp dovrebbe di default nella directory di lavoro corrente.
Se un solo nome della directory è previsto, il programma dovrebbe assumere per
la directory di origine sul server remoto (il secondo argomento).
Esempi:sftp my_pub pub ftp.gnu.org
trasferisce tutti i file della directory 'login' directory / pub
ftp.gnu.org in una directory locale chiamato my_pub.
sftp pub ftp.gnu.org
trasferisce tutti i file della directory 'login' directory / pub
ftp.gnu.org alla directory di lavoro sul sistema locale.
sftp ftp.gnu.org
trasferisce tutti i file della directory di login a ftp.gnu.org al
directory di lavoro sul sistema locale.Il vostro programma deve stampare niente, ma anche una relazione sullo stato di terminazione line all'indirizzo:
Se il trasferimento ha esito positivo, la relazione dovrebbe essere: OK: XXX bytes copiati,
specificando il numero totale di byte copiati, senza zeri iniziali o
spazi
Se si verifica un errore, la relazione dovrebbe essere: ERRORE: seguito da alcuni
messaggio di errore significativi.Se hai ricevuto una risposta di errore in tutta l'FTP
connessione di controllo, si dovrebbe usare la risposta completa di errore ftp
messaggio.Utilizzando solo il codice di errore per l'FTP che l'errore è accettabile in quanto
bene.Rimanda al paragrafo 4.2 della RFC 959 per i vari codici di errore.
Ad esempio:
OK: 12345 bytes copiati
ERROR: 530 Login incorrect.Se il programma termina con successo, si deve restituire un risultato di 0.
In caso contrario, si deve restituire un risultato di 1.
Il vostro programma dovrebbe terminare su una risposta inattesa in tutta l'FTP
connessione di controllo, qualsiasi errore di rete o attraverso la connessione, un file
errore di scrittura, ecc In questo caso, si dovrebbe emettere un messaggio di errore a
terminazione nel formato di cui sopra.Il programma non è previsto
rimuovere i file da trasferimenti parzialmente completati.
"Si può implementare il programma in qualsiasi linguaggio di programmazione".
Il vostro compito per questo compito di programmazione è quello di creare un'applicazione che
comunica attraverso la rete Internet utilizzando i socket interfaccia verso il protocollo TCP / IP
protocollo.Verrà creato un semplice File Transfer Protocol (FTP) client
l'applicazione che si connette a un computer remoto e copia tutti i file
da una directory specificata sul sistema remoto a una directory specificata
sul sistema locale.
Il protocollo FTP specifica come uno dei contatti del client FTP e un server FTP
i messaggi di controllo che vengono scambiati tra client e server.Un
la piena attuazione del protocollo FTP che permettono all'utente di svolgere le seguenti
compiti:
-accesso al server FTP
-stabilire le connessioni per trasferire i file
-download e upload dei file
Per scrivere questo programma sarà necessario prima di familiarizzare con l'FTP
protocollo.Questo protocollo è completamente specificato in RFC 959.Hai solo bisogno
ad attuare le parti del protocollo FTP che sono necessarie per
scaricare tutti i file nella directory specificata dall'utente.Il
sezioni di RFC 959 rilevanti per questo incarico sono specificati in appresso.
-------------------------------------------------- ------------------------------
Il programma è chiamato SFTP (FTP semplificato), e deve accettare la
seguenti argomenti della riga di comando:
Il nome del server FTP remoto (ad esempio, ftp.gnu.org) o il suo indirizzo IP
(ad esempio, 199.232.41.7).Questo argomento è obbligatorio.
La directory sul server FTP remoto da cui potrete trasferire i file
(la directory di origine).Questo argomento è facoltativo, e se non previsti,
sftp dovrebbe di default nella directory di login.
La directory sul sistema locale a cui si trasferirà il file (l'
directory di destinazione).Questo argomento è facoltativo, e se non previsti,
sftp dovrebbe di default nella directory di lavoro corrente.
Se un solo nome della directory è previsto, il programma dovrebbe assumere per
la directory di origine sul server remoto (il secondo argomento).
Esempi:sftp my_pub pub ftp.gnu.org
trasferisce tutti i file della directory 'login' directory / pub
ftp.gnu.org in una directory locale chiamato my_pub.
sftp pub ftp.gnu.org
trasferisce tutti i file della directory 'login' directory / pub
ftp.gnu.org alla directory di lavoro sul sistema locale.
sftp ftp.gnu.org
trasferisce tutti i file della directory di login a ftp.gnu.org al
directory di lavoro sul sistema locale.Il vostro programma deve stampare niente, ma anche una relazione sullo stato di terminazione line all'indirizzo:
Se il trasferimento ha esito positivo, la relazione dovrebbe essere: OK: XXX bytes copiati,
specificando il numero totale di byte copiati, senza zeri iniziali o
spazi
Se si verifica un errore, la relazione dovrebbe essere: ERRORE: seguito da alcuni
messaggio di errore significativi.Se hai ricevuto una risposta di errore in tutta l'FTP
connessione di controllo, si dovrebbe usare la risposta completa di errore ftp
messaggio.Utilizzando solo il codice di errore per l'FTP che l'errore è accettabile in quanto
bene.Rimanda al paragrafo 4.2 della RFC 959 per i vari codici di errore.
Ad esempio:
OK: 12345 bytes copiati
ERROR: 530 Login incorrect.Se il programma termina con successo, si deve restituire un risultato di 0.
In caso contrario, si deve restituire un risultato di 1.
Il vostro programma dovrebbe terminare su una risposta inattesa in tutta l'FTP
connessione di controllo, qualsiasi errore di rete o attraverso la connessione, un file
errore di scrittura, ecc In questo caso, si dovrebbe emettere un messaggio di errore a
terminazione nel formato di cui sopra.Il programma non è previsto
rimuovere i file da trasferimenti parzialmente completati.