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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
230-Welcome, archive user anonymous@localhost !
2ème réponse :
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.
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
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).
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