Bonjour,
Voici une partie du code de mon prog. C'est un client qui communique avec un serveur ftp. Ici juste la procédure pour envoyer les commande USER et PASS au serveur.
Aucun problème lors de l'envoie de USER mais pb pour le PASS...
Quelqu'un pourrait-il m'aider.
Merci
void seLogger (int sock)
{
char tampon [256];
char tamp [256];
/* récupère le login de l'utilisateur */
printf("Entrez votre login \n" );
/* envoi du login */
lire(tampon);
bzero(tamp, sizeof(tamp));
strcat(tamp, "USER " );
strcat (tamp, tampon);
if ( write ( sock ,tamp , strlen ( tamp )) < strlen ( tamp ))
{
perror("Ecriture" );
exit(6);
}
/* récupère la réponse du serveur */
/* remise à zéro du tampon */
bzero(tampon, sizeof(tampon));
if (read ( sock, tampon, sizeof(tampon)) <= 0 )
{
perror("lecture" );
exit(7);
}
printf("%s\n", tampon);
if (( tampon[0] == '3' ) && ( tampon[1] == '3' ) && ( tampon [2] =='1'
)
{
printf("Voter mot de pass est requis, veuillez le rentrer : \n" );
}
/* récupère le pass de l'utilisateur */
printf("Entrez votre mot de passe \n" );
/* envoi du mot de pass */
/* l'utilisateur doit rentrer "PASS motdepasse"*/
lire(tamp);
if ( write ( sock ,tamp , strlen ( tamp)) < strlen ( tamp))
{
perror("Ecriture" );
exit(6);
}
/* remise à zéro du tampon */
bzero(tampon, sizeof(tampon));
if (read ( sock, tampon, sizeof(tampon)) <= 0 )
{
perror("lecture" );
exit(7);
}
printf("%s\n","Réponse du serveur" );
printf("%s\n", tampon);
}
/* besoin de finir la chaine par CR LF*/
void lire(char * tampon)
{
fgets(tampon,256,stdin);
tampon[strlen(tampon)] = '\r';
tampon[strlen(tampon)+1] = '\n';
}