Bonjour a tous,
voila j'essai d'écrire une fonction qui me connecte à un serveur POP. voici donc mon code:

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;
}
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