[Protocole FTP] LIST

Fermé
skysee - 20 juin 2006 à 17:14
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 - 20 juin 2006 à 18:18
Bonjour a tous,

Je suis en train de programmer un client FTP. Cependant il m'arrive un prblème, en effet lorque j'arrive sur la commande LIST le serveur me retourne un timeout (300s).

Donc voici ma liste de commande pour me connecter (je précise que j'ai éxactement le meme problème sous telnet.... alors que ce sont les meme commandes qu'utillisent le logiciel FlashXP avec succes...)

USER login
PASS pass
SYST
REST 100 --> retourne :501 REST: Resuming transfers not allowed in ASCII mode

PASV --> retourne 227 Entering Passive Mode (212,43,241,33,156,37). //l'ip et le port change a chaque connexion.

LIST et donc la problème, le serveur de renvoit rien si ce n'est un timeout au bout de 300s...

Je dois mal gérer quelque chose, je pense que c'est au niveau canal de controle / canal de donnée.

Bref, pourvez vous m'aiguiller?

En vous remerciant.

1 réponse

crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 506
20 juin 2006 à 18:18
Salut,

PASV : tu as demandé au serveur d'ouvrir une socket de connexion qui
servira à ouvrir le canal de données.

il retourne ces infos sur cette socket de connexion via la réponse 227, les
4 octets de l'adresse IP + 2 octets du port (normalement l'IP ne change pas)

tu te connectes sur cette socket pour obtenir une socket de dialogue :
le canal de données est crée

tu envois LIST sur le canal de commande

tu attends la lecture de 150 sur le canal de commande

tu boucles en lecture sur le canal de données, jusqu'à l'obtention de la
fin de fichier (c'est comme ça avec l'API socket sous Linux)

tu fermes le canal de données

tu attends 226 sur le canal de commande

A+, crabs
0