récupérer le status d'un ping
Bonjour , j'aimerais récupérer le status d'un ping dans le cadre d'une classe outil réseaux.
J'envoie un ping et je regarde si un pong arrive.
Pour cela , je copie le flux dans un fichier que je lis après pour voir s'il contient perdus=1.
Mais ca n'arrive pas à voir ça:
En fait c'est du cpp mais c'est pratiquement uniquement des fonctions C.
A par le > .
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 44
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int ping (char ip[50]);
int main (void)
{
int result;
char ip[50];
strcpy (ip,"192.168.0.99");
result = ping (ip);
printf ("0 pour offline, 1 pour online : %d",result);
getchar();
}
int ping (char ip[50])
{
int result = 1;
char commande[100];
strcpy (commande,"ping ");
strcat (commande,ip);
strcat (commande, " -n 1: -w 200 > temp");
system(commande);
FILE * temp;
temp = fopen ("temp","r");
char test[50];
while (!feof (temp))
{
fscanf (temp,"%s",test);
// test correspond à la chaine perdus=1
if (strcmp (test,"perdus=1") == 0 )
{
return 0;
}
printf("%s",test);
}
fclose(temp);
return result;
} |
merci pour votre aide.