[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.
A voir également:

1 réponse

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