Bonjour a tous,
voila j'essai d'écrire une fonction qui me connecte à un serveur POP. voici donc mon code:
seulement quand le programme arrive au connect(), bah il n'arrive jamais à effectuer le connect. et je ne comprend pas pourquoi.
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
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; }
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
Partager