Je suis en train de me concentrer sur ce qu'on pourrait appeler pour simplifier les choses "un client ftp". Je coince devant un problème extrèmement bete : Chaque fois que j'envoie une commande (du genre "user user"), le serveur ftp me renvoie une réponse que je capte à l'aide de la fonction recv du C. Cependant, je fais des tests sur un serveur libre linux et lorsque j'envoie la commande "pass password", le serveur me renvoie deux réponses :
1ère réponse :
2ème réponse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 230-Welcome, archive user anonymous@localhost !
Je vous fais le résumé d'une connexion ftp vers mon serveur pour que vous voyez mieux le problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 230- 230-The local time is: Thu Mar 22 20:28:26 2007 230- 230-This is an experimental FTP server. If have any unusual problems, 230-please report them via e-mail to <root@benji-desktop>. 230- 230 Anonymous access granted, restrictions apply.
Dans le code source, je suppose qu'à chaque commande envoyée, j'attend UNE réponse du serveur. J'ai essayé de faire un while (recv() > 0) pour faire un "tant que le serveur répond ..." mais la fonction recv est bloquante et si le serveur n'a rien à renvoyer, le client attend. Je ne sais pas si je suis très clair. Je cherche une solution à ce problème. Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 220 ProFTPD 1.3.0 Server (Debian) [::ffff:127.0.0.1] >> user anonymous 331 Anonymous login ok, send your complete email address as your password. >> pass toto@titi.tutu 230-Welcome, archive user anonymous@localhost ! >> pasv 230- 230-The local time is: Thu Mar 22 20:28:26 2007 230- 230-This is an experimental FTP server. If have any unusual problems, 230-please report them via e-mail to <root@benji-desktop>. 230- 230 Anonymous access granted, restrictions apply. >> close 227 Entering Passive Mode (127,0,0,1,241,180).
Partager