[Protocole FTP] LIST

skysee -  
crabs Messages postés 909 Statut Membre -
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

  1. crabs Messages postés 909 Statut Membre 507
     
    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