[Protocole FTP] LIST
skysee
-
crabs Messages postés 909 Statut Membre -
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.
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:
- [Protocole FTP] LIST
- Fonctionnement du protocole http - Guide
- List disk - Guide
- Directory list & print - Télécharger - Divers Utilitaires
- Core ftp - Télécharger - Téléchargement & Transfert
- Protocole tcp udp - Guide
1 réponse
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
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