Bojour a tous, je travaille actuèlement sur la modification d'un logiciel open source, et je voudrais rajouter un ping.
Je voudrais savoir si il y a un moyen simple de faire un ping sur une adresse d'un serveur. Voici c que j'ai fait :
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
44
45
46
47
48
49
50
51
52
53
54
55
 
/******************************************
*                PING                     *
*******************************************/
int get_ping(char * serv,int port)
{
	HINTERNET LinkOpen = InternetOpenA("Agent",
		INTERNET_OPEN_TYPE_PRECONFIG,
		NULL, NULL, 0
		);
	HINTERNET LinkConnection = InternetConnectA(LinkOpen,
		serv,
		port,
		NULL, NULL,
		INTERNET_SERVICE_HTTP,
		0, (DWORD)NULL
		);
 
	if(!LinkConnection)
	{
      return -1;
	}
 
	HINTERNET Request = HttpOpenRequestA(LinkOpen,
		"GET",
		"GET /index.php HTTP1.1",
		NULL, NULL,
		(const TCHAR**)"*/*\0",
		0, NULL
		);
 
		DWORD ContentLen, BufLen = sizeof(DWORD);
 
    if(HttpQueryInfo(Request, HTTP_QUERY_CONTENT_LENGTH | HTTP_QUERY_FLAG_NUMBER, (LPVOID)&ContentLen, &BufLen, 0))
	{
		//next is allocating the needed memory
		LPSTR TxtData = (LPSTR)GlobalAlloc(GMEM_FIXED, (ContentLen + 1) * sizeof(char));
 
		if(NULL == TxtData)
			PostError(TRUE, "Failed to allocate memory.");
 
		DWORD TxtBytesRead;
		//read the file into pPatch2TxtData
		InternetReadFile(Request,
			TxtData,
			ContentLen,
			&TxtBytesRead);
		InternetCloseHandle(Request);
		Request = NULL;
		std::ofstream logvar("cerr.txt");
		logvar << "TxtData = " << TxtData << "\n";
		logvar << "TxtBytesRead = " << TxtBytesRead << "\n";
	}
	else{return -2;}
}
Et bien sure sa me renvoi une éreur O_o
La valeur -2 pour présiser.