Bonjour a tous,
voila j'essai d'écrire une fonction qui me connecte à un serveur POP. voici donc mon code:
int iConnect()
{
struct hostent *hstServIP;
struct sockaddr_in sinAddr;
SOCKET sckActiv;
int iResult = 0;
int iTentConnect = 0;
char *sBuffer;
// serveur
sPop = "pop.wanadoo.fr";
// utilisateur
sBuffer = "util";
sprintf(sCmd[0], "USER %s\r\n", sBuffer);
// pass
sBuffer = "pass";
sprintf(sCmd[1], "PASS %s\r\n", sBuffer);
iInitWinsock();
if ((sckActiv socket(AF_INET, SOCK_STREAM, 0)) INVALID_SOCKET)
return -1;
if (!(hstServIP = gethostbyname(sPop)))
return -1;
sinAddr.sin_addr.s_addr = *((u_long *)hstServIP->h_addr_list[0]);
sinAddr.sin_port = htons(110);
sinAddr.sin_family = AF_INET;
iResult = connect(sckActiv, (const struct sockaddr *)&sinAddr, sizeof(sinAddr));
if(iResult != 0)
return -1;
WSACleanup();
closesocket(sckActiv);
return iResult;
}
seulement quand le programme arrive au
connect(), bah il n'arrive jamais à effectuer le connect. et je ne comprend pas pourquoi.
comme je ne suis pas habitué à utiliser les socket, je me suis dit que j'ai du oublié quelque chose. mais je ne vois pas quoi.
c'est pour ce que je pose la question sur ce forum.
Merci par avance.
Bob...
"La chance accorde ses faveur aux esprits avertis..."