[Socket] Connection serveur POP
Bonjour a tous,
voila j'essai d'écrire une fonction qui me connecte à un serveur POP. voici donc mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| 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