Client POP, erreur envoie PASS
Bonjour je developpe un client pop en c qui s'appui sur des sockets, je rencontre un soucis lors de la phase d'authentification.
Lorsque j'envoi la commande PASS xxxxxx, je ne reçoit pas la réponse du serveur dans la socket.
Par contre lorsque je passe par telnet ca marche nikel, donc je comprend pas du tout. Je vous laisse un bout de mon code pour etre plus clair.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
....
//Creation et envoi du mot de passe
bzero (txline, sizeof(txline)) ;
strcpy (txline, "PASS ") ;
strcat (txline, pass) ;
strcat (txline, "\r\n") ;
printf ("Client --> %s", txline) ; fflush (NULL) ;
//Envoie de la commande PASS
if (write (sockfd, txline, sizeof(txline)) < 0){
erreur ("Probleme write (PASS)") ;
}
//Lecture/Ecriture du message envoye par le serveur
bzero (recvline, sizeof(recvline)) ;
//BLOQUE sur ce read !!!!
n = read (sockfd, recvline, MAXLINE) ;
printf ("Serveur --> ") ; fflush (NULL) ;
write(0, recvline, n) ;
... |
Merci d'avance